天天看點

C#中的enum枚舉類

感謝原創--停留的風

枚舉

  枚舉類型聲明為一組相關的符号常數定義了一個類型名稱。枚舉用于“多項選擇”場合,就是程式運作時從編譯時已經設定的固定數目的“選擇”中做出決定。

  枚舉類型(也稱為枚舉)為定義一組可以賦給變量的命名整數常量提供了一種有效的方法。例如,假設您必須定義一個變量,該變量的值表示一周中的一天。該變量隻能存儲七個有意義的值。若要定義這些值,可以使用枚舉類型。枚舉類型是使用 enum 關鍵字聲明的。 

enum  Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

  預設情況下,枚舉中每個元素的基礎類型是 int。可以使用冒号指定另一種整數值類型。

  如果不為枚舉數清單中的元素指定值,則它們的值将以 1 為增量自動遞增。在前面的示例中,Days.Sunday 的值為 0,Days.Monday 的值為 1,依此類推。建立新的 Days 對象時,如果不顯式為其指派,則它将具有預設值 Days.Sunday (0)。建立枚舉時,應選擇最合理的預設值并賦給它一個零值。這便使得隻要在建立枚舉時未為其顯式指派,則所建立的全部枚舉都将具有該預設值。枚舉中大小寫敏感,但是建議不要這樣。

  注意:System.Enum 類型是所有枚舉類型的抽象基類(它是一種與枚舉類型的基礎類型不同的獨特類型),并且從 System.Enum 繼承的成員在任何枚舉類型中都可用。存在從任何枚舉類型到System.Enum 的裝箱轉換,并且存在從 System.Enum 到任何枚舉類型的取消裝箱轉換。System.Enum 本身不是枚舉類型。相反,它是一個類類型,所有枚舉類型都是從它派生的。類型 System.Enum 從類型 System.ValueType派生,而後者又從類型 object 派生。在運作時,類型 System.Enum 的值可以是 null 或是對任何枚舉類型的裝了箱的值的引用。

枚舉的優點:

1、枚舉可以使代碼更易于維護,有助于確定給變量指定合法的、期望的值。

2、枚舉使代碼更清晰,允許用描述性的名稱表示整數值,而不是用含義模糊的數來表示。

3、枚舉使代碼更易于鍵入。在給枚舉類型的執行個體指派時,VS.NET IDE會通過IntelliSense彈出一個包含可接受值的清單框,減少了按鍵次數,并能夠讓我們回憶起可能的值

枚舉執行個體

  聲明: 

public   enum  TimeOfDay

{

    Moning  =   0 ,

    Afternoon  =   1 ,

    Evening  =   2 ,

};

  使用: 

C#中的enum枚舉類

     public   string  getTimeOfDay(TimeOfDay time)

    {

         string  result  =   string .Empty;

         switch  (time)

        {

             case  TimeOfDay.Moning:

                result  =   " 上午 " ;

                 break ;

             case  TimeOfDay.Afternoon:

                result  =   " 下午 " ;

                 break ;

             case  TimeOfDay.Evening:

                result  =   " 晚上 " ;

                 break ;

             default :

                result  =   " 未知 " ;

                 break ;

        }

         return  result;

    }