C 物件集合初始化

2022-01-22 04:04:26 字數 1349 閱讀 8856

public

class

person

//set

//}//c# 3之後有自動實現的屬性之後

//對於不需要額外驗證的屬性,就可以用自動實現的屬性對屬性的定義進行簡化

//不再需要額外定義乙個私有欄位了,

//不定義私有欄位並不是此時沒有了私有字段,只是編譯器幫我們生成乙個匿名的私有字段,不需要我們在**中寫出

//減少我們書寫的**

//下面就是用自動實現的屬性來定義的乙個屬性,其效果等效於上面屬性的定義,不過比之前更加簡潔了

//////

姓名

/// public

string name

}

class

program

;//下面**和上面**是等價的,只不過上面省略了建構函式的圓括號而已

person person4 = new person() ;

person person5 = new person("

learning hard

") ;}}

public

class

person

public

int age

public

person()

public person(string

name)

}

namespace

consoletest

; }

}public

class

person

public

int age

public

person()

public person(string

name)

}}

class

program

;console.writeline(

" 年齡為:

", person1.name, person1.age);

//定義匿名型別陣列

var personcollection = new

,new ,

new ,

//如果加入下面一句就會出現編譯時錯誤

//因為此時編譯器就不能推斷出要轉換為什麼型別

//new

};

int totalage = 0

;

foreach (var person in

personcollection)

}}

C 物件和集合初始化器

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

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

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

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

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