C#語言—列舉和結構
阿新 • • 發佈:2019-02-01
前言
結構體和列舉都是值資料型別,有一定的可比性,針對這兩個概念小編從幾個方面做了以下總結。
走進列舉
一、特點
列舉是一組命名整型常量,使用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.列舉,只能取值,不能賦值;結構體,可以取值,也可以賦值。
小結通過以上的總結,小編知道了列舉和結構體兩者之間的關係和各自的特點。有的地方總結的不是很全面,希望以後能夠不斷精進。
感謝您的訪問!