.NET中的枚舉用法淺析

字號:


    本文簡單分析了.NET中的枚舉用法。分享給大家供大家參考。具體分析如下:
    我理解的枚舉就是編程中約定的一個“可選值”;例如QQ的在線狀態(tài),分別有 在線,Q我吧,隱身,忙碌等等。。。我覺得這就是一個枚舉。
    1.普通枚舉
    1) 實(shí)例
    復(fù)制代碼 代碼如下:public enum UserState
    {
    QMe,
    OnLine,
    OffLine //后面省略
    }
    ps:像上邊的枚舉,可以單獨(dú)寫在一個CS文件中。
    2)普通枚舉的性質(zhì)
    1. 互斥性
    2. 每一個值都有一個數(shù)值來表示
    3. 枚舉在編譯時,就已經(jīng)用數(shù)值來表示了。
    3)字符串轉(zhuǎn)換成枚舉
    復(fù)制代碼 代碼如下:(UserState)Enum.Parse(typeof(UserState),"Red") ;
    4)枚舉轉(zhuǎn)換成數(shù)值、字符串
    復(fù)制代碼 代碼如下:(int)myColor.Red;
    myColor.Red.ToString();
    2.標(biāo)識枚舉
    但一個事物具有多個屬性時,普通枚舉就不夠用了。
    普通枚舉是互斥的,標(biāo)識而枚舉是可以組合的。
    1)定義
    復(fù)制代碼 代碼如下://使用以后結(jié)果是Tostring()的,而不是數(shù)字的。
    public enum GoodMan
    {
    高=1,
    富=2,
    帥=4 //這里必須是2的N次方,切不能重復(fù)。
    }
    2)狀態(tài)組合(或運(yùn)算)
    復(fù)制代碼 代碼如下:GoodMan winter = GoodMan.高| GoodMan.富| GoodMan.帥;
    3)判定winter中是否具有某個枚舉值(與運(yùn)算)
    復(fù)制代碼 代碼如下:if(winter&GoodMan.高==GoodMan.高)
    希望本文所述對大家的.net程序設(shè)計有所幫助。