3.3C#值类型之枚举(Enum)

枚举声明

所有枚举继承自 System.Enum类(继承自 System.ValueType)。

枚举类型 定义了一组常量值。

每个 enum 类型都有一个基础类型(必须是八种整型类型之一)。默认情况下,枚举常量的基础类型为 int,它们从 0 开始,并按定义常量顺序递增 1。

enum 枚举名:[基础类型] 
{
    //常量1,
    //常量2,
    //常量N
}

可以显式指定任何其它七种整数类型作为枚举类型的基础类型,还可以显式指定常量关联的整数值。

enum ErrorCode : ushort
{
    None = 0,
    Unknown = 1,
    ConnectionLost = 100,
    OutlierReading = 200
}

访问成员

枚举名.常量

枚举组合

枚举声明前面加上 [Flags] 特性。

常量对应的值应该是2的幂。

| 表示合并,& 表示交叉。

[Flags]
public enum Seasons
{
    None = 0,
    Summer = 1,
    Autumn = 2,
    Winter = 4,
    Spring = 8,
    All = Summer | Autumn | Winter | Spring
}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/csharplang/7876.html

(0)
上一篇 2021年3月2日 22:20
下一篇 2021年3月3日 23:06

相关推荐

  • 3.8C#引用类型之集合(Collection)

    与数组最大的区别,集合的长度(元素的个数)可以动态改变,可以向集合添加、删除元素 。 1.集合分类 1.1System.Collections.Generic 类 当集合中的所有元素都具有相同的数据类型时,泛型集合会非常有用。 类 说明 元素的顺序 元素重复的值 Dictionary<TKey,TValue&gt…

    C#语言教程 2021年3月8日
    05820
  • 3.4C#引用类型之类(Class)

    1.类声明 2.继承 派生类只能有一个直接基类。但是,因为一个基类本身可能继承自另一个类,所以一个类可能会间接继承多个基类。省略基类相当于从 object 类型继承。 派生类会隐式获取基类的所有成员(除了基类的静态构造函数、实例构造函数、析构函数),所以无需在派生类再书写继承过来的基类成员,但您还可…

    C#语言教程 2021年3月4日
    08290
  • 3.1C#语言的命名空间(Namespace)

    1.命名空间声明 C# 10 中可使用文件范围的命名空间声明,一个文件中的所有类型都在一个命名空间中。文件范围的命名空间不能声明嵌套的命名空间或第二个文件范围的命名空间。 可以在两个或多个声明中定义一个命名空间。 2.using指令 2.1导入其它命名空间的类型 2.2创建命名空间别名 using 指令的声明…

    C#语言教程 2021年3月1日
    07360

发表回复

登录后才能评论