1. 程式人生 > >列舉,結構體區別

列舉,結構體區別

列舉enun     enum 關鍵字用於宣告列舉,即一種由一組稱為列舉數列表的命名常陣列成的獨特型別。每種列舉型別都有基礎型別,該型別可以是除 char 以外的任何整型。列舉元素的預設基礎型別為 int。預設情況下,第一個列舉數的值為 0,後面每個列舉數的值依次遞增
宣告
[訪問修飾符] enum 列舉名 {
    成員1,     成員2,    
}
 
如何使用     列舉名 【名稱自定義】=列舉名.[內容] 列舉的作用 1、限制使用者不能隨意賦值,只能在定義列舉時列舉的值中選擇
2、不需要死記每一個值是什麼,只需要選擇相應的值(哪裡不會點哪裡)
例子: //定義列舉   public enum Dir {         east,         south,         west,         north } //使用列舉 Dir d=Dir.east; //將字串east 轉換成列舉 //(自己定義的列舉型別)(Enum.Parse(typeof(自己定義的列舉型別),"待轉換的字串")); Dir d1=(Dir)(Enum.Parse(typeof(Dir),"east")); //將數字1轉換成列舉 Dir d12=(Dir)(Enum.Parse(typeof(Dir),"1"));    //將列舉轉換為數字 int i=Convert.ToInt32(Dir.west); 注意:

1.列舉的定義,一般和定義類在同一個級別

。這樣,在同一個名稱空間下的所有類都可以使用這個列舉

2.定義列舉時,列舉的值不能用int型別

3.列舉的變數都可以強制轉換成int,因為列舉的值在定義時是有一個預設編號的,編號從0開始

4.可以在列舉中的值後面加編號 但不推薦這麼做,原因是第3點

·

public enum Dir {         east=1,         south=2,         west=3,         north=4 } ————

結構體struct 同時定義多個不同型別的變數 定義方法 [訪問修飾符] struct  結構名
{
     定義結構成員//可以包含變數、方法
}  例1 //定義一個叫person的類 public static struct person {     public string name;  //結構成員     public int age;     //結構體中定義方法     public void SayHello()     {             Console.WriteLine("Hello");     } } //使用結構體 person ps; //為結構體中的成員賦值 ps.name="張尚"; ps.age=20; //呼叫結構體中的方法  ps.SayHello(); 注意:結構體和列舉要定義在類的前面 ________________________________________________ 類Class 定義類 [訪問修飾符] class 類名 {     成員1;     成員2; .............................. } 類中可以包含變數的定義和方法