enum與字符串相互轉換


關鍵代碼

  得到枚舉值

1 Color.Red.GetHashCode();

   得到枚舉名稱

1 Color.Red.ToString();

   枚舉類型轉換代碼

1 Enum.Parse(typeof(Color),str)

 示例數據

  首先創建示例數據,如下:

 1 //……
 2 /// <summary>
 3 /// 顏色枚舉
 4  /// </summary>
 5 public enum Color
 6 {       
 7       Red,        //紅色
 8       Blue,       //藍色
 9       Green       //綠色
10 }   
11 //……

 枚舉值轉字符串

1 int hashCode = Color.Red.GetHashCode();
2 string enumParseStr = Enum.Parse(typeof(Color), hashCode.ToString()).ToString();

  Enum.Parse()得到的值是object類型的,我們要轉換的是值,得到的是名稱,因此用ToString()得到字符串類型的名稱。

字符串轉枚舉值

1 string str = Color.Red.ToString();
2 int enumParseInt = Convert.ToInt32(Enum.Parse(typeof(Color), str));

   這里要轉換的是名字,得到的是值,因此用Convert.ToInt32()得到該值。

Enum說明

  • 默認枚舉第1個值為0,然后依次加1。
  • 指定枚舉前1個枚舉,它后面的值會從它開始依次加1。
  • 可以無序定義枚舉值。

參考網址

  [1] https://www.cnblogs.com/knightluffy/p/3529230.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM