(1) private int a;
public int A
{
get { return a; }
set { a = value; }
}
(2) public int a { get; set; }
這兩者分別什麼意思?有什麼區別?
從表面上沒啥區別,當你訪問這個類時,
public int A
{
get { return a; }
set { a = value; }
}
只能通過類.A
而
public int a { get; set; }
通過類.a即可
public string a { get; set; }
和公有字段沒多大區別了,沒啥意義,建議用第一種方法。但是從面向對象的角度來講,公開的是方法,而不是字段。而且微軟也推薦:所有的字段都設置為私有字段,如果要使用它們,則把它們封裝成屬性。對於這樣簡單的set或get,編譯器會自動進行inline處理,沒有函數進出棧的性能損失。