枚舉類型轉換


我們可以將枚舉類型的變量與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