c 自動屬性

2021-06-26 07:20:27 字數 862 閱讀 1796

例如下面

class

myclass{

//一般屬性用法

privae string

name;

public

string

name

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 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的方法,可以包含...