枚舉的含義及其應用

本章講解如下枚舉的如下幾個知識點:

   1、什麼是枚舉?

   2、枚舉是值類型還是引用類型?

   3、如何定義枚舉?

   4、枚舉的好處?

   5、枚舉在實際系統開發過程中的用處?

 

   一、什麼是枚舉

           枚舉:用來存放一組固定的常量

                  是用來解決用戶進行多次if /switch重複簡單的判斷

  

  二、枚舉是值類型還是引用類型?

      枚舉是值類型

 

  三、如何定義枚舉?

      定義枚舉的語法非常簡單,如下:

      

枚舉的語法
 public enum 枚舉名
 {
     
 }
 
 枚舉的定義1,如下:
 public enum ColorEnum
 {
     紅色,          //注意,系統會默認給它賦值爲0
     藍色,          //系統賦值爲1
     黑色,          //系統賦值爲2
     粉紅色         //系統賦值爲3
 }
 
 枚舉的定義方式2,如下: 
 public enum ColorEnum
 {
     紅色=2,          //用戶自己賦值 所以枚舉是一組 符號名稱/值 配對
     藍色,            // 系統賦值爲3        
     黑色=2,            //用戶自己賦值2
     粉紅色            //系統賦值爲3
 }
  所以可以看出,系統會自己給沒有賦值的常量賦值,
              但賦值的方式是按照上一個的值+1來進行操作的
 
1、 如下枚舉的結果正確的是(  )
  public enum MyColor
  {
      紅色=1,
      藍色=2,
      黑色=1,
      白色
  }
  程序輸出: Console.WriteLine(  (int)MyColor.白色   );
 
  A、1      B、2      C、3      D、程序編譯錯誤
 
 
2、 如下枚舉的結果正確的是(  )
  public enum MyColor
  {
      紅色=1,
      藍色=2,
      紅色=3,
      白色
  }
  程序輸出: Console.WriteLine(  (int)MyColor.紅色   );
 
  A、1      B、2      C、3      D、程序編譯錯誤
 
   提示:枚舉中等號左邊的值不能重複.
 

    要記得枚舉的關鍵字是 enum

 

  四、枚舉的好處?

    1、便於用戶回憶以前的資料

    2、便於少輸入代碼,使程序更容易編寫和維護。

    3、防止用戶亂輸入

 

 五、枚舉在實際系統開發過程中的用處?

    我舉一個仿QQ換膚的簡單方法來做一個試驗,代碼如下,請分析結果會是什麼?

     

   我們來看一看,這樣的代碼確實有點不能讓人接受,原因:

      1、結果錯誤,通過客戶端傳入一個字符串來進行判斷,容易出錯

      2、使用了多個if.. else if ..else if....語句塊,

          基本上是在做同一件判斷的事情

      3、如果這個程序拿給一個新手來做,那這個新員工來進行開發,那這個員工的記憶力要非常的好,

         不然一個字符輸出就有可能得不到想要的結果.....

 

   那如何解決這種多次使用if/switch等簡單語句判斷呢?這時候枚舉就出馬了,代碼如下:

 

 

在用戶調用的時候,系統會有提示,如圖:

 

使用枚舉的好處,再次強調:

    1、便於用戶回憶以前的資料

    2、便於少輸入代碼,使程序更容易編寫和維護。

    3、防止用戶亂輸入

 

那如何把字符串轉換爲枚舉類型?

如何把枚舉添加到下拉菜單中?

這兩個問題,在下一章將會進行講解.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章