C#数据类型-枚举

324 阅读1分钟

枚举是一个特殊的值类型,它可以让你指定一组命名的数值常量。

public enum BorderSide
{
    top,
    right,
    bottom,
    left
}
BorderSide borderTop = BorderSide.top;
bool isTop = (borderTop == BorderSide.top);//true

底层原理

  • 每个枚举都对应一个底层的整型数值(Enum.GetUnderlyingType())
    • 默认基础类型是int
    • 默认第一个值是0,后续没项都递增1
  • 也可以指定其它类型(可以是除char之外的任意整型),例如byte:
    public enum BorderSide:byte
    {
        top,
        right,
        bottom,
        left
    }
    
  • 也可以显示指定枚举成员的值
    public enum BorderSide:byte
    {
        top=5,
        right=10,
        bottom=top,
        left=right
    }
    
  • 还可以显示指定某些成员的值,未显示赋值的成员将紧接着它前面已赋值的成员递增
    public enum BorderSide : byte
    {
        top = 5,
        right,  //6
        bottom = 14,
        left    //15
    }
    

flags

to do...