當一組邏輯相關的資料需要整體操作(如通訊錄:姓名、電話、地址),結構提供單一實體封裝,避免分散變數管理混亂。
struct PhoneBook {
public string name;
public string phone;
public string address;
}
PhoneBook p1;
p1.name = "Mike"; // 透過「實例.成員」存取
結構成員可以是任意型別,包含其他結構(巢狀):
struct PhoneBook {
public string name;
public uint age;
public string phone;
public Address address; // 巢狀結構
}
struct Address {
public string city;
public string street;
public uint no;
}
PhoneBook a = new PhoneBook { name = "A" };
PhoneBook b = a; // 複製整個結構
b.name = "B";
Console.WriteLine(a.name); // 輸出 "A"(未受影響)
null/0/false)。new 可呼叫自訂建構子(需有參數)。| 情境 | 建議 |
|---|---|
| 小型、不可變、邏輯單一、頻繁複製 | 結構 |
| 需繼承、參考語意、大型物件、身分識別重要 | 類別 |