美文网首页
C# Enum int string 的互转

C# Enum int string 的互转

作者: 道阻且长_行则将至 | 来源:发表于2018-07-31 11:22 被阅读16次
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;

相关文章

网友评论

      本文标题:C# Enum int string 的互转

      本文链接:https://www.haomeiwen.com/subject/mdbcvftx.html