【发布时间】:2017-02-02 16:56:06
【问题描述】:
在 C# 6 中,您可以拥有以下属性:
public Uri MyProperty => new Uri();
或者你可以有这个:
public Uri MyProperty1 { get; } = new Uri();
它们有什么区别?
【问题讨论】:
在 C# 6 中,您可以拥有以下属性:
public Uri MyProperty => new Uri();
或者你可以有这个:
public Uri MyProperty1 { get; } = new Uri();
它们有什么区别?
【问题讨论】:
每次访问属性时,第一个返回一个新的Uri 对象 - 第二个初始化属性为一个新的Uri 对象并每次都提供相同的对象。
【讨论】:
不同的是,这每次都会创建一个Uri的新实例:
public Uri MyProperty => new Uri();
这将适用于具有指定值的支持字段:
public Uri MyProperty1 { get; } = new Uri();
【讨论】: