C# 枚举
C# 枚举
枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。enum 关键字用于声明枚举。
定义枚举的语法
enum 枚举的名称
{
写上要限定的取值,每一个取值使用逗号分隔。
}
定义枚举的位置:命名空间下,与类同级别。
1 namespace Test 2 { 3 enum Direction 4 { 5 East = 1, 6 South = 2, 7 West = 3, 8 North = 4 9 } 10 }
枚举方法
1、每一个枚举值默认情况下都有1个对应的int类型的数,这个数从0开始,依次递增。可以通过强转的语法将枚举值对应的整型的数取出来。
1 Direction dir = Direction.West; 2 int i = (int)dir;
2、也可以将一个整形的数强制转换为其所对应的枚举值。如果没有对应的枚举值,就原样的输出。
1 int i = 3; 2 Direction dir = (Direction)i;
3、将字符串转换为枚举类型
1 string strDir = "East"; 2 Direction dir = (Direction)Enum.Parse(typeof(Direction), strDir);
当然,并不是所有的字符串值都会映射为一个对应的枚举值。如果传送一个值不能映射成枚举值中的一个,就会产生错误。这些值是区分大小写的,所以如果字符串与一个值相同,但大小写不同,就会产生错误。
忽略大小写的转换:
Direction dir = (Direction)Enum.Parse(typeof(Direction), strDir, true);
Enum.Parse()方法的第二个重载带3个参数,第一个参数是要使用的枚举类型。其语法是关键字typeof后跟放在括号中的枚举类名。第二个参数是要转换的字符串,第三个参数是一个bool,指定在进行转换时是否忽略大小写。
4、将枚举转换为字符串
ToString()方法。
枚举.ToString("d")将枚举值对应的整形的数转换为字符串。