首页 > 代码库 > C#知识点 枚举
C#知识点 枚举
一 什么是枚举
枚举是用户定义的整数类型。定义枚举使用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 }
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=http://www.mamicode.com/1, 10 }
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 }
C#知识点 枚举