C#枚舉的使用

枚舉的使用。
首先來看枚舉是什麼?枚舉類型是一種的值類型,它用於聲明一組命名的常數。
一.聲明:enum 枚舉名{中間放入值.}如:enum
 Student{小明,小紅}那麼此枚舉中就爲小紅和小明
二.枚舉中的賦值
在枚舉中.
1:
系統會自動給枚舉中的值賦予整數的值(若是不手動賦值,能夠理解爲下標)
好比咱們想找到他的值,能夠寫代碼以下:
int num = (int)test.小明;
Console.WriteLine(num);
那麼此時獲得的結果爲:0.
同理如若是輸入的爲
int num = (int)test.小紅;
那麼獲得的結果爲:1.
2
若是手動給以賦值
 enum Student{小明=10,小紅}
int num1 = (int)test.小明;Console.WriteLine(num);int num2 = (int)test.小紅;Console.WriteLine(num);
那麼此時獲得的結果爲:num1=10,num2=11
而此時
enum Student{小明,小紅=10}
int num1 = (int)test.小明;Console.WriteLine(num);int num2 = (int)test.小紅;Console.WriteLine(num);
那麼此時獲得的結果爲:num1=0,num2=10
能夠看出後面的爲自動增加

3:在枚舉中沒法訪問外面的東西(說專業點就是方法,屬性)好比:

 


是會報錯的,固然這裏放類是能夠的
三:再看看enum的一下方法
enum的一些方法貌似都在Enum中(小編是一邊學一邊寫的,有不對的地方請批評)打開Enum後咱們會發現好多方法 其實有好多方法。但大多都是重寫的。 如CompareTo,Equals,Format,ToString,ToObject,Parse,GetHashCode相信大多數的方法你們都認識。其實,HasFlag,IsDefined,GetValues,GetUnderlyingType,GetName,GetTypeCode,GetNames,你們可能有點陌生小編留意的是GetName,GetNames,GetValues 可能會經常使用(小編如今從網上就找不到對其更好的解釋,咱們老師也不會講,如今小編學習很困難) (1)首先來看GetName,方法定義爲 public  static string GetName(Type enumType, object value);返回一個string類型的值定義string str = Enum.GetName(typeof(Student),0);輸出結果爲:小明其中有個typeof能夠理解爲,是經過他來找到這個enum(枚舉)的若是你在定義enum中小明=10,小紅那麼str將什麼都不顯示 (2)GetName,方法定義爲 public static string[] GetNames(Type enumType);返回一個string[]類型的值定義爲:string[] str = Enum.GetNames(typeof(Student));利用for循環輸出的爲:小明,小紅 (3)GetValues,(小編髮現不是多好用,能夠不太會吧。。。) 方法定義爲public static Array GetValues(Type enumType);返回一個Array類型的值Array arr = Enum.GetValues(typeof(test)); 也是經過for循環輸出:for  (int i = 0; i < 2; i++){Console.WriteLine(arr.GetValue(i));}發現結果是同樣的.
相關文章
相關標籤/搜索