C# Enum int string 的互转

enum Colors  
{
    Red,
    Green,
    Blue, 
    Yellow 
}

Enum-->String

  • 利用Object.ToString()方法:
Colors.Green.ToString()=="Green";
  • 利用Enum的静态方法GetName与GetNames:
Enum.GetName(typeof(Colors),3)) == Enum.GetName(typeof(Colors), Colors.Blue)) == "Blue";
Enum.GetNames(typeof(Colors)) == { "Red",    "Green",    "Blue",     "Yellow" };

String-->Enum

  • 利用Enum的静态方法Parse:
(Colors)Enum.Parse(typeof(Colors), "Red")

Enum-->Int

  • 因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。
(int)Colors.Red == 0; 
(byte)Colors.Green == 1;

Int-->Enum

  • 可以强制转换将整型转换成枚举类型。
Colors color = (Colors)2 ;
color == Colors.Blue;
  • 利用Enum的静态方法ToObject。
Colors color = (Colors)Enum.ToObject(typeof(Colors), 2);
color == Colors.Blue

判断某个整型是否定义在枚举中的方法:Enum.IsDefined

 Enum.IsDefined(typeof(Colors), 3)) == true;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容