項(xiàng)目中,一同事定義了個(gè)枚舉,而我在根據(jù)此枚舉做判斷的時(shí)候,出了一些邏輯性的錯(cuò)誤。導(dǎo)致錯(cuò)誤的原因是C#中對(duì)枚舉值的自增、不唯一的問(wèn)題,然后通過(guò)實(shí)際的代碼,測(cè)試了枚舉的一些特性。
1.枚舉名可以是中文。枚舉的類名必須跟其他類的類名命名規(guī)則一樣,而枚舉的名字可以是中文,但是不能相同。
可以定義下面這樣的枚舉。
public enum Weekdays{ 星期一, 星期二, 星期三, 星期四, 星期五}
但下面這樣的定義是不允許的。
public enum Letter{ A, A, C, D, E}
編譯器會(huì)給出這樣的提示:類型“Letter”已經(jīng)包含“A”的定義。
2.枚舉值可以相同。
可以定義下面這樣的枚舉。
public enum Letter{ A = 1, a = 1, B = 2, b = 2, C, D, E}
3.枚舉的默認(rèn)值。
在不寫(xiě)明枚舉值的情況下,其值為上一枚舉值加1,若其為第一個(gè)則從0開(kāi)始。
比如說(shuō)枚舉:
public enum Letter{ A, B, C = -3, D, E}
各枚舉值為:A = 0,B = 1,C = -3,D = -2,E = -1。
4.遍歷枚舉。
Array letterArray = Enum.GetValues(typeof(Letter));foreach (Letter item in letterArray){ Console.Write(item.ToString() + " = " + Convert.ToInt32(item).ToString() + ", ");}
新聞熱點(diǎn)
疑難解答