找回密码
 立即注册
快捷导航

[C#] 枚举

[复制链接]
茎肛互撸娃 2023-7-31 22:47:24 | 显示全部楼层
本帖最后由 茎肛互撸娃 于 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);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

温馨提示

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

Archiver|手机版|小黑屋|DLSite

GMT+8, 2024-11-23 00:38

Powered by Discuz! X3.5 and PHP8

快速回复 返回顶部 返回列表