C#知识点 枚举

时间:2022-04-07 05:49:02

标签:

一 什么是枚举

  枚举是用户定义的整数类型。定义枚举使用enmu关键字,注意enmu和Enum是一样的。

  · enum是关键字

  · Enum是System.Enum,是一个类,其对象值可以为null

二 使用枚举的好处

  1. 有助于确保给变量指点合法的、期望的值。

  2. 代码的表意更加明确,描述性好的枚举名,使代码更易理解。

  3. 使代码更容易维护。

  4. 使代码更容易键入。

三 枚举的定义

  1. 枚举使用enum关键字来声明,枚举可以使用访问修饰符,但只能使用 public 和 internal

  2. 枚举的成员始终是公共的,不能使用访问修饰符。

  3. 枚举是值类型,值类型的默认值是0,所以给一个枚举变量赋值0,不会编译报错。

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //不会编译报错。 6 NumberEnum number01 = 0; 7 //会编译报错,(是否缺少强制转换) 8 NumberEnum number02 = 3; 9 } 10 11 } 12 13 public enum NumberEnum 14 { 15 One = 1, 16 17 Two = 2, 18 19 Three = 3, 20 }

View Code

  4. 枚举都是隐式密封的,不允许作为积累派生子类。

  5. 枚举成员均为静态,且默认为Int32类型。

  6. 每个枚举成员都具有一个常数值(默认0开始,步长1),此值的类型就是枚举的底层数据类型(默认是Int32类型)。

  7. 枚举成员的名称不能相同,但枚举的常数值可以相同。

1 public enum NumberEnum 2 { 3 One=1, 4 5 Two=2, 6 7 Three=3, 8 9 SameValue=1, 10 }

View Code

  8. 枚举最后一个成员的逗号可以省略。

  枚举类型默认的底层数据类型有哪些?

    System.SByte(sbyte)

    System.Int16(short)

    System.Int32(int) 默认

    System.Int64(long)

    System.Byte(byte)

    System.UInt16(ushort)

    System.UInt32(uint)

  如何显示指定枚举的底层数据类型?

  声明枚举的时候加上一个冒号,后面指定数据类型

1 1 public enum NumberEnum:int //显示指定枚举的底层数据类型 2 2 { 3 3 One=1, 4 4 5 5 Two=2, 6 6 7 7 Three=3, 8 8 }