枚举(enum
)是一组命名的整数常量。枚举类型是使用enum
关键字来声明。
C# 枚举是值数据类型。 换句话说,枚举包含其自己的值,并且不能继承或不能传递继承。
声明枚举变量
声明枚举的一般语法是:
enum <enum_name>
{
enumeration list
}
其中,
- enum_name - 指定枚举类型名称。
- enumeration list - 是使用逗号分隔的标识符列表。
枚举列表中的每个符号表示一个整数值,后面符号的值大于前面符号的值。 默认情况下,第一个枚举符号的值为0
,例如:
enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat }
示例
以下示例演示了如何使用枚举变量:
using System
namespace EnumApplication
{
class EnumProgram
{
enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat }
static void Main(string[] args)
{
int WeekdayStart = (int)Days.Mon
int WeekdayEnd = (int)Days.Fri
Console.WriteLine("Monday: {0}", WeekdayStart)
Console.WriteLine("Friday: {0}", WeekdayEnd)
Console.ReadKey()
}
}
}
当编译和执行上述代码时,会产生以下结果:
Monday: 1
Friday: 5
更改开始索引示例
using System
public class EnumExample
{
public enum Season { WINTER=10, SPRING, SUMMER, FALL }
public static void Main()
{
int x = (int)Season.WINTER
int y = (int)Season.SUMMER
Console.WriteLine("WINTER = {0}", x)
Console.WriteLine("SUMMER = {0}", y)
}
}
当编译和执行上述代码时,会产生以下结果:
WINTER = 10
SUMMER = 12
枚举示例:使用getNames()遍历所有值
using System
public class EnumExample
{
public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }
public static void Main()
{
foreach (string s in Enum.GetNames(typeof(Days)))
{
Console.WriteLine(s)
}
}
}
当编译和执行上述代码时,会产生以下结果:
Sun
Mon
Tue
Wed
Thu
Fri
Sat
枚举示例:使用getValues()遍历所有值
using System
public class EnumExample
{
public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }
public static void Main()
{
foreach (Days d in Enum.GetValues(typeof(Days)))
{
Console.WriteLine(d)
}
}
}
当编译和执行上述代码时,会产生以下结果:
Sun
Mon
Tue
Wed
Thu
Fri
Sat