publicclass
person
//set
//}//c# 3之後有自動實現的屬性之後
//對於不需要額外驗證的屬性,就可以用自動實現的屬性對屬性的定義進行簡化
//不再需要額外定義乙個私有欄位了,
//不定義私有欄位並不是此時沒有了私有字段,只是編譯器幫我們生成乙個匿名的私有字段,不需要我們在**中寫出
//減少我們書寫的**
//下面就是用自動實現的屬性來定義的乙個屬性,其效果等效於上面屬性的定義,不過比之前更加簡潔了
//////
姓名
/// public
string name
}
classprogram
;//下面**和上面**是等價的,只不過上面省略了建構函式的圓括號而已
person person4 = new person() ;
person person5 = new person("
learning hard
") ;}}
public
class
person
public
int age
public
person()
public person(string
name)
}
namespaceconsoletest
; }
}public
class
person
public
int age
public
person()
public person(string
name)
}}
classprogram
;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 孫悟空 採...