新聞中心
C#新語言特性有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#對象初始化器,包括介紹基于泛型的類型為User的List集合等方面。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供郫都網(wǎng)站建設(shè)、郫都做網(wǎng)站、郫都網(wǎng)站設(shè)計、郫都網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、郫都企業(yè)網(wǎng)站模板建站服務(wù),10年郫都做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
C#對象初始化器 (Object Initializers) :
.NET2.0框架中的類型非常依賴于屬性。當(dāng)生成對象實(shí)例和使用新的類型時,在.Net2.0時候我們像這樣寫:
- User user = new User();
- user.Id = 1;
- user.Name = "YJingLee";
- user.Age = 22;
在VS2008中,編譯器會自動地生成合適的屬性setter代碼,使得原來幾行的屬性賦值操作可以在一行完成。我們可以這樣簡化:像這樣,對象初始化器由一系列成員對象組成,其對象必須初始化,用逗號間隔,使用{}封閉。
- User user = new User { Id = 1, Name = "YJingLee", Age = 22 };
又例如,我把二個人加到一個基于泛型的類型為User的List集合中:
- List
user = new List { - new User{Id=1,Name="YJingLee",Age=22},
- new User{Id=2,Name="XieQing",Age=25},
- };
如果有相同名字和類型的兩個對象初始化器將會產(chǎn)生相同的實(shí)例,可以相互賦值。例如:
- User user = new User { Id = 1, Name = "YJingLee", Age = 22 };
- User user2 = new User { Id = 2, Name = "XieQing", Age = 25 };
- user = user2;
除了在初始化類時設(shè)置簡單的屬性值外,C#對象初始化器特性也允許我們設(shè)置更復(fù)雜的嵌套(nested)屬性類型。例如我們可以在上面定義的User類型同時擁有一個屬于Address類型的叫“Address”的屬性:
- User user = new User
- {
- Id = 1,
- Name = "YJingLee",
- Age = 22,
- Address = new Address
- {
- City = "NanJing",
- Zip = 21000
- }
- };
【編輯推薦】
- C# const常量詳細(xì)介紹
- C# Lambda表達(dá)式學(xué)習(xí)筆記
- C#隱式類型局部變量經(jīng)驗(yàn)總結(jié)
- 調(diào)用C# Thread.Start()方法
- C# CheckStatus()方法
當(dāng)前標(biāo)題:C#對象初始化器描述
瀏覽地址:http://m.fisionsoft.com.cn/article/dhshcgo.html


咨詢
建站咨詢
