遍曆一個枚舉類型

來源:互聯網
上載者:User

枚舉是一種很有意思的構造。在.net中,枚舉類型擁著一些很酷的特性.
以下面這個枚舉類型為例:enum AccessRight:int
//某種資源的存取權限{ Read=1,   
//讀 十六進位為0x01 Write=2,  
//寫 十六進位為0x02 Delete=4  
//刪除 十六進位為0x04}在.net中,
我們可以:AccessRight right=AccessRight.Read;
//擷取枚舉變數right的值的十進位表示string s1=right.ToString("D");
//擷取枚舉變數right的值的十六進位表示string s2=right.ToString("X");
//擷取一個枚舉變數right的枚舉名,在這裡就是Readstring s3=right.ToString("G");
如果你覺得上面那句指派陳述式:(AccessRight right=AccessRight.Read;)不夠靈活,還可以這樣:
//使用枚舉名來擷取一個枚舉AccessRight right=(AccessRight)System.Enum.Parse(typeof(AccessRight),"Read")
;//也可以用枚舉值來擷取一個枚舉AccessRight right=(AccessRight)System.Enum.Parse(typeof(AccessRight),"1");

另外,你還可以遍曆一個枚舉類型Foreach(AccessRight right in (AccessRight[])
System.Enum.GetValues(typeof(AccessRight)) ){}
最後,還可以對枚舉進行位演算法AccessRight right=AccessRight.Read|AccessRight.Write;string ss=right.Tostring("F");
那麼ss將會是"read,write"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.