列舉,結構體區別
阿新 • • 發佈:2018-12-26
列舉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); 注意:
結構體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; .............................. } 類中可以包含變數的定義和方法
宣告
[訪問修飾符] 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; .............................. } 類中可以包含變數的定義和方法