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

C# 預設建構函式的作用與重要性

     編輯:關於C語言

預設建構函式

若類別未定義任何建構函式,編譯器會自動產生無參數的預設建構函式,將所有欄位初始化為預設值(數值 0、參考 null、bool false)。

範例

public class A {
    public int Number;
    public string Word;
}

public class Test {
    static void Main() {
        A a = new A(); // 呼叫預設建構函式
        Console.WriteLine($"Number = {a.Number}, Word = {a.Word}");
    }
}
// 輸出:Number = 0, Word =

保留無參數建構函式的重要性

  • 序列化/反序列化(XmlSerializer、BinaryFormatter、JSON.NET 等)需要無參數建構函式
  • 泛型約束 new() 要求型別有公用無參數建構函式
  • 反射 Activator.CreateInstance 預設呼叫無參數建構函式
  • 衍生類別若未呼叫 base(),會自動呼叫基類無參數建構函式

最佳實踐

若自訂建構函式導致無參數建構函式消失,請明確宣告 public A() { } 保留相容性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved