枚举类型转换

我们可以将枚举类型的变量与int类型与string类型进行转换

枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转化的语法进行相互转换

当转一个枚举中没有的值的时候,不会抛异常,而是将数字直接显示出来;

枚举类型同样也可以和string类型相互转换,如果将枚举类型转转换成string类型,直接调用Tostring();

如果将字符串转换成枚举类型则需要一下代码:

(需要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),“要转换的字符串”);

如果要转换的字符串是数字,就算枚举中没有,也不会抛异常;

如果转换的字符串是文本,如果枚举中没有,则会抛出异常;

 1 namespace 枚举与int和string之间的转换
 2 {
 3     public enum QQState
 4     {
 5         onLine,
 6         offLine,
 7         busy,
 8         Leave,
 9         QMe
10     }
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             #region 枚举类型转int
16             //枚举类型与int类型是兼容的,可以进行强制类型转换
17             QQState a = QQState.busy;
18             int b = (int)a;
19             Console.WriteLine(b);
20 
21             #endregion
22             #region int类型转枚举类型
23             //int a1 = 3;
24             //QQState b1 = (QQState)a1;
25             //Console.WriteLine(b1);
26             #endregion
27 
28             //任何类型都可以转化成string类型,调用ToString()
29             #region 枚举类型转string
30 
31             QQState a2 = QQState.offLine;
32             string b2 = a2.ToString();
33             Console.WriteLine(b2);
34             #endregion
35             #region string类型转枚举类型
36             string a3 = "offLine";
37             QQState b3 = (QQState)Enum.Parse(typeof(QQState), a3);
38             Console.WriteLine(b3);
39             #endregion
40             Console.ReadKey();
41         }
42     }
43 }

 

posted @ 2021-11-04 17:42  无敌小金刚  阅读(985)  评论(0)    收藏  举报