在阅读不同的C#项目源代码后,我注意到了关于公共“getter”和私有“setter”属性编写几乎相同语句的不同方式。
第一种只使用属性的方法如下:
我知道
第一种只使用属性的方法如下:
public int x { get; private set; }
第二种方法是使用表达式属性:
private int _x;
public int x => _x;
我知道
public int x { get; }
等同于:private readonly int __x;
public int x { get { return __x } }
我理解单个"getter"的情况下,表达式主体和常规属性之间的区别。 但是当存在持有引用值的私有字段时,我不理解它们之间的区别。我以为第二种更快,因为您可以直接访问字段,而不必在类内调用方法。 这只是一种风格上的差别,还是其中一个例子更快、更健壮等?