C# 枚举enum

Posted halfsaltedfish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 枚举enum相关的知识,希望对你有一定的参考价值。

先贴上微软官方参考:enum (C# Reference)

定义

enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它。也可以将枚举嵌套在类或结构中。

枚举是一种值类型。名称中不能含有空格。

enum Day Sat, Sun, Mon, Tue, Wed, Thu, Fri;

在上面这个定义例子中,也就是通常的默认情况,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。当然,我们也可以使用初始值设定项来覆盖默认值,如以下示例所示。

enum Day Sat=1, Sun, Mon, Tue, Wed, Thu, Fri;

在这个示例中,强制序列从1开始。

枚举值获取

1.遍历:直接使用Enum中的静态方法即可操作.GetValues中获取的是枚举变量的值,类型是枚举名,之后自动输出的是枚举名
foreach (int i in Enum.GetValues(typeof(Day))) Console.WriteLine(i);
2.获取枚举数的值
Day.Sat

枚举类型

每个枚举类型都有一个基础类型,这个基础类型是除char以外的整型,默认是int。

声明枚举类型时应该像如下示例:
enum Day : byte Sat=1, Sun, Mon, Tue, Wed, Thu, Fri;

枚举的优点

1.枚举可以使代码更易于维护,有助于确保给变量指定合法的、期望的值。
2.枚举使代码更清晰,允许用描述性的名称表示整数值,而不是用含义模糊的数来表示。
3.枚举使代码更易于键入。在给枚举类型的实例赋值时,VS.NET IDE会通过IntelliSense弹出一个包含可接受值的列表框,减少了按键次数,并能够让我们回忆起可能的值

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

C# 枚举enum

C#知识点 枚举

C# Enum,Int,String的互相转换 枚举转换

C# Enum,Int,String的互相转换 枚举转换

C# 枚举(Enum)

C# 枚举器和可枚举类型