枚举
枚举是一个值类型,包含一组命名的变量。
使用关键字enum定义,例如:
public enum Color { [Description("红色")] Red, [Description("黄色")] Yellow, [Description("黑色")] Black }
枚举默认从0开始,也可以指定具体的枚举数字,枚举的数字顺序总是从上一个指定的数值进行依次递增。
1 public enum Color 2 { 3 [Description("红色")] 4 Red = 0, 5 [Description("黄色")] 6 Yellow, 7 [Description("黑色")] 8 Black = 3 9 }
1 // 枚举的相关使用 2 // 获取枚举数值 3 var redNumber = (int)Color.Red; // 0 4 // 数值转枚举常量 5 var red = (Color) 0; // Red 6 // 获取枚举字符串 7 var redString = Color.Red.ToString(); // "Red" 8 // 字符串转枚举 9 var redFromStr = Enum.Parse(typeof(Color), "Red", true); // Red 10 // 枚举值的循环 11 foreach (Color color in Enum.GetValues(typeof(Color))) 12 { 13 Console.WriteLine(color); // Red 14 } 15 // 获取枚举的描述 todo...
1 [Flags] // 使用Flags标记,支持逻辑或运算 2 public enum Color 3 { 4 [Description("红色")] 5 Red = 0, 6 [Description("黄色")] 7 Yellow, 8 [Description("黑色")] 9 Black = 3 10 }
// 逻辑或运算 var a = Color.Red | Color.Black;
1 // 使用TryParse来实现将字符串转枚举 2 Color color; 3 if (Enum.TryParse<Color>("Red", true, out color)) 4 { 5 // color is Red 6 }