C# 枚举,枚举和int以及string类型之间的转换

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Threading.Tasks;  
  6.   
  7. namespace _02枚举  
  8. {  
  9.     //  
  10.         //    [public] enum 枚举名  
  11.         //{  
  12.         //    值1,  
  13.         //    值2,  
  14.         //    值3,  
  15.         //    ........  
  16.         //}  
  17.   
  18.   
  19.     //声明了一个枚举 Gender  
  20.     public enum Gender  
  21.     {  
  22.         男,  
  23.         女  
  24.     }  
  25.   
  26.     class Program  
  27.     {  
  28.   
  29.         static void Main(string[] args)  
  30.         {  
  31.             //变量类型 变量名=值;  
  32.             int n = 10;  
  33.             Gender gender = Gender.男;  
  34.   
  35.             //为什么会有枚举这个东东?  
  36.             //xx大学管理系统  
  37.             //姓名 性别 年龄 系别 年级    
  38.             //性别  
  39.             //char gender = '男';  
  40.             //string s1 = "female";  
  41.             //string ss1 = "爷们";  
  42.         }  
  43.     }  
  44. }  
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Threading.Tasks;  
  6.   
  7. namespace _04枚举和int以及string类型之间的转换  
  8. {  
  9.     public enum QQState  
  10.     {  
  11.         OnLine=1,  
  12.         OffLine,  
  13.         Leave,  
  14.         Busy,  
  15.         QMe  
  16.     }  
  17.   
  18.     public enum Gender  
  19.     {  
  20.         男,  
  21.         女  
  22.     }  
  23.     class Program  
  24.     {  
  25.         static void Main(string[] args)  
  26.         {  
  27.             #region 将枚举类型强转成int类型  
  28.             //QQState state = QQState.OnLine;  
  29.             ////枚举类型默认可以跟int类型互相转换  枚举类型跟int类型是兼容的  
  30.             //int n = (int)state;  
  31.             //Console.WriteLine(n);  
  32.             //Console.WriteLine((int)QQState.OffLine);  
  33.             //Console.WriteLine((int)QQState.Leave);  
  34.             //Console.WriteLine((int)QQState.Busy);  
  35.             //Console.WriteLine((int)QQState.QMe);  
  36.             //Console.ReadKey();  
  37.             #endregion  
  38.             #region 将int类型强转为枚举类型  
  39.   
  40.             //int n1 = 3;  
  41.   
  42.             //QQState state = (QQState)n1;  
  43.             //Console.WriteLine(state);  
  44.             //Console.ReadKey();  
  45.             #endregion  
  46.             #region 将枚举类型转换成字符串类型  
  47.             //所有的类型都能够转换成string类型  
  48.             // int n1 = 10;  
  49.             //// double n1 = 3.14;  
  50.             // decimal n1 = 5000m;  
  51.             // string s = n1.ToString();  
  52.             // Console.WriteLine(s);  
  53.             // Console.ReadKey();  
  54.   
  55.             //QQState state = QQState.OnLine;  
  56.             //string s = state.ToString();  
  57.             //Console.WriteLine(s);  
  58.             //Console.ReadKey();  
  59.             #endregion  
  60.             #region 将字符串类型转换为枚举类型  
  61.             //string s = "ABCDEFG";  
  62.             ////将s转换成枚举类型  
  63.             ////Convert.ToInt32()  int.parse()  int.TryParse()  
  64.             ////调用Parse()方法的目的就是为了让它帮助我们将一个字符串转换成对应的枚举类型  
  65.             ////  
  66.             //QQState state = (QQState)Enum.Parse(typeof(QQState), s);  
  67.             //Console.WriteLine(state);  
  68.             //Console.ReadKey();  
  69.             #endregion  
  70.   
  71.   
  72.   
  73.             //枚举练习  
  74.             //提示用户选择一个在线状态,我们接受,并将用户的输入转换成枚举类型。  
  75.             //再次打印到控制台中  
  76.   
  77.             Console.WriteLine("请选择您的qq在线状态 1--OnLine 2--OffLine 3--Leave 4--Busy 5--QMe");  
  78.             string input = Console.ReadLine();  
  79.             switch (input)  
  80.             {  
  81.                 case "1": QQState s1 = (QQState)Enum.Parse(typeof(QQState), input);  
  82.                     Console.WriteLine("您选择的在线状态是{0}",s1);  
  83.                     break;  
  84.                 case "2": QQState s2 = (QQState)Enum.Parse(typeof(QQState), input);  
  85.                      Console.WriteLine("您选择的在线状态是{0}",s2);  
  86.                     break;  
  87.                 case "3": QQState s3 = (QQState)Enum.Parse(typeof(QQState), input);  
  88.                      Console.WriteLine("您选择的在线状态是{0}",s3);  
  89.                     break;  
  90.                 case "4": QQState s4 = (QQState)Enum.Parse(typeof(QQState), input);  
  91.                     Console.WriteLine("您选择的在线状态是{0}", s4);  
  92.                     break;  
  93.                 case "5": QQState s5 = (QQState)Enum.Parse(typeof(QQState), input);  
  94.                     Console.WriteLine("您选择的在线状态是{0}", s5);  
  95.                     break;  
  96.             }  
  97.             Console.ReadKey();  
  98.         }  
  99.     }  
  100. }  
shashou47

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: