枚舉(enum)是一組命名的整數(shù)常量。枚舉類型是使用enum關(guān)鍵字來聲明。
C# 枚舉是值數(shù)據(jù)類型。 換句話說,枚舉包含其自己的值,并且不能繼承或不能傳遞繼承。
聲明枚舉的一般語法是:
enum <enum_name>
{
enumeration list
};
其中,
枚舉列表中的每個(gè)符號(hào)表示一個(gè)整數(shù)值,后面符號(hào)的值大于前面符號(hào)的值。 默認(rèn)情況下,第一個(gè)枚舉符號(hào)的值為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();
}
}
}
當(dāng)編譯和執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果:
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);
}
}
當(dāng)編譯和執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果:
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);
}
}
}
當(dāng)編譯和執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果:
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);
}
}
}
當(dāng)編譯和執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果:
Sun
Mon
Tue
Wed
Thu
Fri
Sat