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