C 物件和集合初始化器

2021-05-24 15:18:27 字數 1211 閱讀 1777

為了提供更合理的建構函式,我們不得不進行多次建構函式的過載,使得使用者的呼叫更加簡單。但是這樣的排列組合隨著引數的增加成幾何級增長,的確很不方便。現在有了object and collection initializer(物件和集合初始化器)就方便多了。

舉個例子:

private class cat

public string name

}

cat cat = new cat ;
listcats = new list,

new cat(),

new cat()

};

好了,常識性的普及就到這裡。現在讓我講講一些特殊的。

public class myclass

public listmycollection

}正確的方式是:

myclass test = new myclass()

};public class myclass

public dictionarymydictionary

正確的方法是:

myclass test = new myclass()

mydictionary = new dictionary()

,

,

一開始覺得寫nested的initializer,**不太好讀。現在發現的樹形結構裡使用nested的initializer能夠把樹的結構給表現得比較清楚。所以推薦大家也試試看。舉個wf 4.0的工作流樹吧。

sequence sequence = new sequence()

displayname = "my sequence",

activities =

new writeline()

text="start"

new flowchart()

displayname = "my flowchart",

nodes =

new flowstep()

action = new if()

else = new while(),

then = new delay()

new writeline()

text="end"

看,工作流就出來了,連帶著工作流的層級關係也表明了。

物件初始化器和集合初始化器

c 語言開發團隊在c 3.0中增加了乙個名為 物件初始化器 object initializer 的特性 它能初始化乙個物件中的所有允許訪問的字段和屬性。別以為這和你沒關係。我們先來看乙個你非常熟悉不過的 user operator new user operator.id 1 operator.p...

C 物件和集合的初始化器

using system using system.collections.generic using system.linq using system.text using system.threading.tasks 商品名稱 public string name 商品描述 public str...

物件初始化器與集合初始化器

物件初始化器 使用物件初始化器,可以在建立時直接向物件賦值,無需顯示的呼叫物件的建構函式。利用這個技術可發人員可以建立匿名型別,顯著的減少編寫物件初始化語句的 new p 不採用物件初始化器寫的 user new user user.id 1 user.pwd 123 user.name 孫悟空 採...