C# 中属性的 => 和 get {} 有什么区别?

问题描述 投票:0回答:2

两者之间的性能或内存方面是否存在差异?

public string Id { get { return this.id; } }

public string Id => this.id;

我更喜欢 => this.Id 的外观,但我想知道我是否做错了什么?

另外,有没有类似的问题

public void Test() => this.id = "fdsafdsa";
    
c# pointers properties
2个回答
1
投票
不,没有区别。

*

它们编译成相同的代码。请参阅

此处

这只是属性(或其他成员)实现的

语法糖。或者正如文档所定义的那样:

表达式主体定义让您可以提供成员的实现 以非常简洁、可读的形式。您可以使用表达式主体 定义任何支持的成员的逻辑,例如 方法或属性,由单个表达式组成。


* 当可以使用任一形式时。


0
投票
我认为它更像是语法糖。

在这个问题中,它得到了更好的解释

Alex Booter 的属性签名答案中 C# 中的 => 赋值是什么。

© www.soinside.com 2019 - 2024. All rights reserved.