C#之枚舉的聲明和用法
時間:2020-06-19 作者:管理員(yuán) 點擊:636
//枚舉:如果希望得到一(yī)個固定集合的值,就采用枚舉
//枚舉的位置:枚舉聲明在命名空間的下(xià)面,類的外(wài)面,表示這個命名空間下(xià),所有的類都可以使用這個枚舉,枚舉也可以在結構中(zhōng)被調用
//默認情況下(xià),枚舉中(zhōng)每一(yī)個值都會根據定義的順序,從0開(kāi)始,自動賦予每個值一(yī)個整形。這個值也可以人爲的賦予它比如下(xià)面的代碼(星期三=5)
//聲明枚舉用(enum)關鍵字,格式如下(xià)
public enum Week
{
星期一(yī),
星期二,
星期三,//人爲的指定值如:星期三=5
星期四,
星期五,
星期六,
星期日 //枚舉中(zhōng)最後一(yī)個值可以加逗号也可以不加。
}
class Program
{
static void Main(string[] args)
{
Week myweek = Week.星期一(yī);
Console.WriteLine(myweek);
Console.WriteLine(Week.星期二);
Console.WriteLine((int)Week.星期二);//輸出結果爲1是因爲默認情況下(xià),枚舉中(zhōng)每一(yī)個值都會根據定義的順序,從0開(kāi)始,自動賦予每個值一(yī)個整形。
//将字符串轉換成枚舉值的方法
string mystr = "星期八"; //(Week)Enum.Parse(typeof(Week), mystr);
//下(xià)面的代碼輸出報錯:原因是如果需要轉換的字符串不是數字,而且枚舉值中(zhōng)不包含該值就會報異常
Console.WriteLine((Week)Enum.Parse(typeof(Week), mystr));
//如果要轉換的字符串是數字,枚舉值不包含該值,轉換不會報異常
string mystr2 = "123";
Console.WriteLine((Week)Enum.Parse(typeof(Week), mystr2));//輸出結果是 123
Console.ReadKey();
}
}