一、C#新增關鍵字未列在保留字列表緣由:兼容利用了這些新增關鍵字的現有代碼,解決方案是把它們定義爲上下文關鍵字,只能用在某些具體代碼中。好比async關鍵字,只能用於方法聲明,也可用做變量名,編譯器會自動識別。async
二、用法約定:在有了智能編輯器和Intellisense後,人們廣泛認爲帶前綴表數據類型的Hungarian表示法是多餘的,好比string strResult;編輯器
如今採用以下用法約定:能夠有不一樣的訪問修飾符,但必須有一個屬性訪問級別publicspa
private string _firstName;
public string FileName
{
protected get { return _firstName; }
set { _firstName = value; }
}設計
自動實現的屬性,能夠屬性初始化器來初始化:get
public int Age{ get; protected set; }=42;編譯器
1)命名約定:變量、類、方法、枚舉、名稱空間:Pascal和Camel形式,string
三、屬性和方法的使用:io
1)讀取該值,不該花太多時間編譯
2)讀取該值,不該有任何明顯和不但願的負面效應,變量
3)能夠按照任何順序設置屬性,順序讀取屬性應有相同結果,若有預料不到的變化,則設計爲方法。如汽車速度,把speed設置爲屬性就不合適,應使用方法;GetSpeed();而Weight和EngineSize設置爲屬性則合適
四、字段的使用:1)老是私有,但在某些狀況下也能夠把常量或只讀字段設置爲公有。2)緣由是若是設置爲公有,則不利於之後擴展和修改類