不同类型的只读属性

时间:2017-02-02 16:56:06

标签: c# c#-6.0

在C#6中,您可以拥有以下属性:

public Uri MyProperty => new Uri();

或者你可以拥有:

public Uri MyProperty1 { get; } = new Uri();

他们之间的区别是什么?

2 个答案:

答案 0 :(得分:3)

每次访问属性时,第一个返回一个新的this对象 - 第二个将属性初始化到新的Uri对象,并且每次都提供相同的对象。

答案 1 :(得分:1)

不同之处在于,每次都会创建Uri的新实例:

public Uri MyProperty => new Uri();

这将适用于具有指定值的支持字段:

public Uri MyProperty1 { get; } = new Uri();