C 中屬性和自動屬性的區別

2021-08-09 15:01:38 字數 763 閱讀 9361

1.私有字段,一般設定為私有,通過屬性來賦值保證起安全性:

1private

string _age;

2.get訪問器,負責讀取資料,其中可以進行自己的邏輯判斷和資料驗證,以return或者throw結束:12

345get

3.set訪問器,負責給屬性賦值,類似於乙個返回型別為void的方法,可以包含邏輯處理,例如可以根據預設的值通過計算後返回結果。

上面簡單的說了一下常規屬性,當屬性訪問器中不需要其他邏輯時,可以使用自動屬性,不過需要注意一點的就是宣告自動屬性時,編譯器將建立乙個私有的匿名後備字段,該欄位只能通過屬性的

get和

set

訪問器進行訪問。 1

public

int id

自動屬性沒有太多可以可以說的東西,簡單的對比一下常規屬性和自動屬性之間的區別吧:

1.自動實現的屬性必須同時宣告

get和

set

訪問器。建立

readonly

自動實現屬性時,需要將

set訪問器設定為

private 。

2自動實現的屬性上可以使用特性,不能用在支援後備欄位上。

如果屬性的後備欄位上使用特性,則應該只建立常規屬性。 3.

自動實現屬性

get,

和set

中不能包含特殊的邏輯處理。與字段類似,但不同於字段。與字段不同,屬性不作為變數來分類,不能將屬性作為

ref引數或

out引數傳遞。

C 中屬性和方法的區別

class person public int weight 字段 private int age 字段 public int age 屬性 setelse public void oneperson 方法 name console.writeline weight weight console.w...

C 中屬性和索引的區別

屬性和索引器的差別 乙個物件只有乙個屬性值,所以要存放多個值必須例項化多個物件 通常情況下,例項化乙個陣列的物件,接著例項化的物件賦給這個陣列 乙個物件對應的索引是乙個陣列,並且可以存放多個數值或字串,所以只需要例項化乙個物件就可以存放以及訪問多個儲存內容。using system using sy...

c 自動屬性

例如下面 class myclass set 自動屬性 public string name c 中用get和set對類的屬性進行訪問和設定,保障類中資料的安全。自動屬性是不對字段進行邏輯驗證的操作.由於自動屬性可以省略後背字段,結果我很多時候都會忍不住用自動屬性,而且 也比帶後備欄位的屬性來的明了...