C#學習日記11---資料類型 之 枚舉(enum)類型

來源:互聯網
上載者:User
前面我所介紹的全都是實值型別 ,寫這麼多了,我總結以下什麼叫實值型別 。簡單的說,該類型的變數直接儲存所包含的值。這裡我們與C語言中的字串相對比一下,char ch[6] = "HC666"; 老師說過這裡其實是用ch來引用“HC666”的地址,通過訪問地址來訪問資料。string也是一樣,因此C#中的字串 String 就是參考型別,而不是實值型別。。而struct 類型卻不是這樣,通過直接賦值來改變變數儲存內容,因此它是實值型別。

實值型別 之 枚舉(enum)類型:

枚舉(enum): 實際上是為一組在邏輯上密不可分的整數值提供便於記憶的符號。 舉個例子來說吧,比如到了星期天了,我買了張電影票取看電影,座位號一看挺好---66號,按照號碼我找到了位置,很好的一個位置---第2排第5列,於是愉快的看完了電影。其實這個66號在我所在的放映室裡對映的就是 第2排第5列,這就叫一個枚舉。

聲明枚舉(enum)類型變數:

enum   變數名                   {                   標識符列表                 } ;


注意:

標識符列表中,元素與元素之間用 , 逗號分隔;

枚舉列表中的每個符號代表一個整數值,一個比他前面符號大的整數值,預設情況下,第一個枚舉符號代表0,當然也可以修改:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Test  {      class Program      {          //定義 enum 類型 以0開始遞增          enum weekday              {                  Sun, Mon, tue, Wed, thu, Fri, Sat    //若要改變預設值只需  (Sun = 2, Mon, tue, Wed, thu, Fri, Sat)以2開始遞增+1              };            static void Main(string[] args)          {              weekday wek;              Console.WriteLine("輸入0~6一個數字: ");              int i = int.Parse(Console.ReadLine());                wek = (weekday)i;     //強制類型轉換,將int類型轉化為 weekday 類型                Console.WriteLine("{0} 是 {1}", i, wek);            }      }  }

我輸入一個0:

對於代碼中出現的 強制類型轉換 我會在後面的 隱式轉換與顯示轉換 中具體寫出,現在就不做介紹了。

結構(struct)類型 與 枚舉(enum )類型的比較:

我有個同學他總是 Struct類型 與 enum類型 傻傻分不清,有時候寫出這樣的錯誤碼來了:

enum  wek{     int   a,b,c;   string  d,e,f;}

為了避免以上的錯誤,這裡我就說說它們之間的區別吧:在說 struct類型 的時候我已經提到了它裡面的資料類型可以是多個不同類型的,換句話說,Struct類型是由不同類型的資料群組成的一組新類型,結構類型變數的值是由各個成員的值組合而成。比如:

  Struct   wek{      public  int   a  = 1;     public  int   b = 2;}

定一個變數 wek w; 此時的 w 既可以用來表示 a 的值是1 (w.a),也可以表示 b 的值是 2(w.b)

而枚舉(enum)類型 則不同,枚舉類型的變數在某一時刻只能取枚舉列表中某一個元素的值,比如:前面我編寫的enum weekday 的程式中wek 在某一時刻只能表示一個值 ,它不能在同一時刻既表示 Sun 也表示 Mon ,

wek = (weekday)2; 此時wek 只能表示Tue,不能表示其它的了。

以上就是C#學習日記11---資料類型 之 枚舉(enum)類型的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

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