枚举

枚举是一个值类型,包含一组命名的变量。

使用关键字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 }
posted @ 2020-04-12 19:33  VTing4You  阅读(181)  评论(0编辑  收藏  举报