[英]Auto-property vs property with a field
這兩者有什么區別嗎?
int a;
public int A
{
get => a;
set => a = value;
}
public int A { get; set; }
public int A { get; set; }
和說的完全一樣:
private int _a;
public int A
{
get => _a;
set => _a = value;
}
自動屬性只是私有字段和公共 getter 和 setter 的語法糖。 它允許您在沒有 getter 和 setter 方法的樣板的情況下訪問和改變字段(作為屬性)
如果這是 java,你會得到類似的東西:
private int a;
public void setA(int a){
this.a = a;
}
public int getA(){
return a;
}
在 java 中創建類時,定義 getter、setter、hash 代碼和字符串方法變得非常常規。 C# 旨在消除一些麻煩
它只是 C# 的語法質量,用於更清晰的代碼。 它也非常模塊化,請查看文檔以了解如何制作私有設置器、使用init
進行不可變后 obj 構造等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.