8. C#枚举类型

        枚举类型(也可以称为 "枚举器" )由一组具有独立标识符(名称)的整数类型常量构成。在 C# 中枚举类型可以在类或结构体的内部声明,也可以在类或结构体的外部声明。默认情况下,枚举类型中的每个成员都为 int 类型,它们的值从 0 开始,并按定义顺序依次递增。

        在 C# 中可以使用 enum 关键字来声明枚举类型,语法格式如下所示:

enum enum_name

{
    enumeration_list;
}

说明:

        enum_name 为枚举类型变量的名称;

        enumeration_list 为枚举类型中的成员列表。其中包含若干使用逗号分隔的标识符,每个标识符都代表了一个整数值。

在使用枚举类型时有以下几点需要注意:

  • 枚举类型中不能定义方法;
  • 枚举类型具有固定的常量集;
  • 枚举类型可提高类型的安全性;
  • 枚举类型可以遍历;

举例:

// 枚举变量的使用:
class Program
{
    enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
    static void Main(string[] args)
    {
        Console.WriteLine("Sun = {0}", (int)Day.Sun); // 0
        Console.WriteLine("Mon = {0}", (int)Day.Mon); // 1
        Console.WriteLine("Tue = {0}", (int)Day.Tue); // 2
        Console.WriteLine("Wed = {0}", (int)Day.Wed); // 3
        Console.WriteLine("Thu = {0}", (int)Day.Thu); // 4
        Console.WriteLine("Fri = {0}", (int)Day.Fri); // 5
        Console.WriteLine("Sat = {0}", (int)Day.Sat); // 6
        Console.ReadKey();
    }
}

另外,我们也可以显式的为每个枚举类型的成员赋值,如下所示:

// 使用 GetValues()  遍历枚举类型中的所有成员:
class Program
{
    enum Season
    {
        spring,
        summer,
        autumn = 100,
        winter
    }
    static void Main(string[] args)
    {
        foreach (Season s in Enum.GetValues(typeof(Season)))
        {
            Console.WriteLine("{0} = {1}", s, (int)s);
        }
        Console.ReadKey();
    }
}

// 运行结果如下:
spring = 0
summer = 1
autumn = 100
winter = 101

举例2:

// 使用 GetNames() 遍历枚举类型中的所有成员:
class Program
{
    enum ErrorCode
    {
        None = 10,
        Unknown,
        ConnectionLost = 15,
        OutlierReading
    }
    static void Main(string[] args)
    {
        foreach (string ec in Enum.GetNames(typeof(ErrorCode)))
        {
            Console.WriteLine(ec);
        }
        Console.ReadKey();
    }
}

// 运行结果如下:
None
Unknown
ConnectionLost
OutlierReading
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值