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

C# new 運算子:三種建立形式、實例化流程與非必要動態記憶體配置

     編輯:關於C語言

new 運算子 建立型別實例,支援三種形式:

三種建立形式

  1. 物件建立運算式:new Type() → 類別/結構/記錄實例。
  2. 陣列建立運算式:new Type[size]、new Type[] { ... } → 陣列實例。
  3. 委派建立運算式:new DelegateType(method) → 委派實例。

關鍵觀念:非必要動態配置

  • 類別 → Managed Heap 配置(參考型別)。
  • 結構/實值型別 → 通常在堆疊/內嵌配置,new 僅代表「初始化」,不保證 Heap 配置。
  • 這與 C++ new 必須配置 Heap 記憶體本質不同。

範例


class A {} 
A a = new A();                    // 物件
int[] arr = new int[10];          // 陣列
delegate double DFunc(int x);
DFunc f = new DFunc(Math.Sin);    // 委派(方法群組轉換)

進階:物件初始化器 / 集合初始化器


var p = new Person { Name = "Tom", Age = 30 };
var list = new List { 1, 2, 3 };

語法糖,編譯後仍呼叫無參數建構函式再指派屬性/呼叫 Add。

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