項目中,一同事定義了個枚舉,而我在根據此枚舉做判斷的時候,出了一些邏輯性的錯誤。導致錯誤的原因是C#中對枚舉值的自增、不唯一的問題,然後通過實際的代碼,測試了枚舉的一些特性。
1.枚舉名可以是中文
枚舉的類名必須跟其他類的類名命名規則一樣,而枚舉的名字可以是中文,但是不能相同。
可以定義下面這樣的枚舉。
- public enum Weekdays
- {
- 星期一,
- 星期二,
- 星期三,
- 星期四,
- 星期五
- }
但下面這樣的定義是不允許的。
- public enum Letter
- {
- A,
- A,
- C,
- D,
- E
- }
編譯器會給出這樣的提示:類型“Letter”已經包含“A”的定義。
2.枚舉值可以相同
可以定義下面這樣的枚舉。
- public enum Letter
- {
- A = 1,
- a = 1,
- B = 2,
- b = 2,
- C,
- D,
- E
- }
3.枚舉的默認值
在不寫明枚舉值的情況下,其值為上一枚舉值加1,若其為第一個則從0開始。
比如說枚舉:
- 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() + ", ");
- }
原文標題:C#中的枚舉值
鏈接:http://www.cnblogs.com/z119977662/archive/2010/08/02/1790667.Html
【編輯推薦】