枚举(enum
)是一组命名的整数常量。枚举类型是使用enum
关键字来声明。
c# 枚举是值数据类型。 换句话说,枚举包含其自己的值,并且不能继承或不能传递继承。
声明枚举的一般语法是:
enum <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