枚举类型转换


我们可以将枚举类型的变量与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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM