首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 結構型別深度解析:定義、巢狀結構、值語意與初始化規則

     編輯:關於C#

為什麼需要結構?

當一組邏輯相關的資料需要整體操作(如通訊錄:姓名、電話、地址),結構提供單一實體封裝,避免分散變數管理混亂。

基本定義與存取

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 可呼叫自訂建構子(需有參數)。

結構 vs 類別:何時選擇?

情境建議
小型、不可變、邏輯單一、頻繁複製結構
需繼承、參考語意、大型物件、身分識別重要類別
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved