[英]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.