C#知识点 枚举

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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     }
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     }
View Code

  

以上是关于C#知识点 枚举的主要内容,如果未能解决你的问题,请参考以下文章

《C#零基础入门之百识百例》(六十六)枚举定义 -- 石头剪刀布猜拳游戏

C#知识点-枚举器和迭代器

C# 学习之路(十八)

Java中枚举的写法和用法

细说枚举

细说枚举