**:
例如下面
class myclass
set
}
//自動屬性
public string name
}
c#中用get和set對類的屬性進行訪問和設定,保障類中資料的安全。自動屬性是不對字段進行邏輯驗證的操作.由於自動屬性可以省略後背字段,結果我很多時候都會忍不住用自動屬性,而且**也比帶後備欄位的屬性來的明了。這樣子寫,這兩種方法沒任何區別.
那麼什麼情況下用一般寫法 什麼情況下用自動寫法?
你需要對這個變數做一些限制的時候 比如:
string username;
//你想限制這個使用者名稱只能有10個字元長度
public string username
set}
}
簡單的不需要限制的直接訪問的就省力點用自動屬性,而需要做出限制的就加個後背字段重新實現一次屬性.另外:使用get/set,最主要的是基於oop思想程式設計,使得「屬性和行為分離」。通過get/set可以設定某屬性唯讀,也可以控制到某一層可讀/可寫,也可以通過設定條件使資料合法等
class a
protected set
}}}
其實,上述例子不使用get/set也同樣可以做到,不過get/set使用起來更方便,清晰。
c 自動屬性
例如下面 class myclass 一般屬性用法 privae string name public string name set 自動屬性 public string name c 中用get和set對類的屬性進行訪問和設定,保障類中資料的安全。自動屬性是不對字段進行邏輯驗證的操作.由於自動屬...
C 自動屬性
自動屬性是c 5.0 含 之後,微軟新增的語法糖,全稱為 auto implemented properties。如果屬性的set和get訪問器中沒有任何邏輯,就可以使用自動實現的屬性。不需要宣告私有化字段。編譯器會自動建立它。使用自動實現的屬性,就不能直接訪問字段,因為不知道編譯器生成的名稱。使用...
C 中屬性和自動屬性的區別
1.私有字段,一般設定為私有,通過屬性來賦值保證起安全性 1private string age 2.get訪問器,負責讀取資料,其中可以進行自己的邏輯判斷和資料驗證,以return或者throw結束 12 345get 3.set訪問器,負責給屬性賦值,類似於乙個返回型別為void的方法,可以包含...