C# Enum int string 的互转
2018-07-31 本文已影响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;