1. 程式人生 > >C#語言—列舉和結構

C#語言—列舉和結構

前言

   結構體和列舉都是值資料型別,有一定的可比性,針對這兩個概念小編從幾個方面做了以下總結。

走進列舉

一、特點

  列舉是一組命名整型常量,使用enum關鍵字宣告。

  C/C++語言可以使用#define和const建立符號常量,而使用enum工具不僅能夠建立符號常量,還能定義新的資料型別,但是必須按照一定的規則進行。

二、詳細瞭解

1、定義:Enum....{E}

  列舉元素的預設基礎型別為int。預設情況下,第一個列舉數的值為0,後面每個列舉數的值依次遞增1。例如:

2、用法

  定義空間:是在名稱空間nameplace之下,Main函式之上。
  列舉也可以指定資料型別,一般不指定。
  在定義列舉型別時,可以選擇基型別,但可以使用的基型別僅限於long、int、short和byte。例如:
如: enum meiju:int

三、例項

瞭解結構

一、產生的背景:應運而生

    在實際問題中,一組資料往往具有不同的資料型別;例如:在學生資訊登記表中,姓名為字元型,學號為整型或字元型,年齡為整型,性別為字元型,成績為整型或實型。因為資料型別不同,顯然不能用一個數組來存放。在C語言中,可以使用結構體(Struct)來存放一組不同型別的資料。

二、結構體的使用

1.定義
  位置:結構體一般定義在Main函式上面,位於Class下面;
  同時也可以在名稱空間之下,class類之上定義。
  關鍵詞:Struct
  結構:
 
//[訪問修飾符]  struct 結構名
//{
        //結構體
//}
//例項
   public struct Person    
    {
        public string _name;
        public int _age;
        public Gender _gender;
    }

 引數前面加上public代表公用變數。

2.具體例項
public struct Person
    {
        public string _name;
        public int _age;
        public Gender _gender;
    }
 class Program
    {
        static void Main(string[] args)
        {
            //定義一個結構型別Person,有三個成員,分別為姓名,性別,年齡
            //宣告兩個Person型別的變數,分別表示 張三 男  18歲/ 小蘭 女 16歲

            Person zsPerson;
            zsPerson._name = "張三";
            zsPerson._age = 18;
            zsPerson._gender = Gender.男; 
        }
    }

兩者的比較

一、相同點:

1.兩者都是值型別;

2.定義時的空間都是在Main函式之前;

二、不同點:

1. 列舉是一個常量的集合;

   結構體是一個變數組,將一組變數放在一起,其實就是一個自定義的集合;

2. 列舉的基礎型別必須是一個除char 型別外的內建的有符號(或無符號)整數型別(如Byte、Int32或UInt64)。結構體,裡面包含多種資料型別,如整形int,字串string,帶小數點decimal等。

3.列舉,只能取值,不能賦值;結構體,可以取值,也可以賦值。

小結

    通過以上的總結,小編知道了列舉和結構體兩者之間的關係和各自的特點。有的地方總結的不是很全面,希望以後能夠不斷精進。

感謝您的訪問!