本帖最后由 茎肛互撸娃 于 2023-8-6 01:46 编辑
枚举
值类型,与类或结构一样
enum Color{
Green,
Yellow,
Red
}
Console.WriteLine((int)Color.Yellow); // 1
设置底层类型和显示设置值
enum Color: ulong{
Green = 3,
Yellow,
Red = 8,
Oragen = 8 // 可以有重复值
}
Console.WriteLine((int)Color.Yellow); // 4
标志位
使用单个字(singleword)的不同位作为表示一组开/关标志的紧凑方法。
一般的步骤如下。
(1)确定需要多少个位标志,并选择一种有足够多位的无符号类型来保存它。
(2)确定每个位位置代表什么,并给它们一个名称。声明一个选中的整数类型的枚举,每个成员由一个位位置表示。
(3)使用按位或(OR)运算符在持有该位标志的字中设置适当的位。
(4)使用按位与(AND)运算符或HasFlag方法检查是否设置了特定位标志。
...
GetName 和 GetNames
enum Color
{
Green = 3,
Yellow = 5,
Red
}
Console.WriteLine(Enum.GetName(typeof(Color), 6));
foreach(var name in Enum.GetNames(typeof(Color))){
Console.WriteLine(name);
}
|