Enum一點使用總結

來源:互聯網
上載者:User

枚舉很有用, 總結一下它的兩個重要操作和用途, 如下:

1.字串轉為Enum類型:

2.枚舉作為標誌

 

參考代碼:

    public enum MaleRoleEnum { Male=1, Husband=2, Father=3, Sun=4, Manager=5 }
    class Program
    {
        static void Main(string[] args)
        {
            MaleRoleEnum lzd = MaleRoleEnum.Male | MaleRoleEnum.Father;            
            Console.WriteLine((int)lzd);

            Console.WriteLine(Enum.IsDefined(typeof(MaleRoleEnum), "Malse"));

 

            MaleRoleEnum mre = (MaleRoleEnum)Enum.Parse(typeof(MaleRoleEnum), "Mals");  //will throw Exception: Requested value 'Mals' was not found.
            Console.WriteLine(mre);

 

            MaleRoleEnum mre1;
            if (Enum.TryParse<MaleRoleEnum>("Males", out mre1)) //使用Ref的時候必須要先賦值,而out並不需要。
            {
                Console.WriteLine(mre1);
            }
            else
            {
                Console.WriteLine("轉換失敗");
            }      }
    }

啟示1:

用Enum.Parse或Enum.TryParse方法, 用Parse時如果用未定義的枚舉值轉換則會報異常, 所以, 如果不用TryParse就要用trycatch捕捉異常;

 

啟示2:

因為某些枚舉可以重複復合, 可以用&位與和|位或.

推薦資料: C#基礎:ref和out的區別
http://www.cnblogs.com/gjahead/archive/2008/02/28/1084871.html

在C#中,方法的參數傳遞有四種類型:傳值(by value),傳址(by reference),輸出參數(by output),數組參數(by array)。傳值參數無需額外的修飾符,傳址參數需要修飾符ref,輸出參數需要修飾符out,數組參數需要修飾符params。

 

位元運算的效率及應用

http://space.flash8.net/space/?18713/viewspace-352330.html

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.