【发布时间】:2017-03-12 07:28:26
【问题描述】:
我确实看到很多人在使用这个新功能,但是使用这些表达式有什么好处呢?
Examples:
public override string ToString() => string.Format("{0}, {1}", First, Second);
public string Text =>
string.Format("{0}: {1} - {2} ({3})", TimeStamp, Process, Config, User);
这个问题和this one不一样,因为我问的不仅仅是性能和效率有没有变化,还有编译后的代码(IL代码)的区别,是否是最佳实践,应该用在现实世界。
这个问题也不是off topic,因为我要求的是真实的企业经验,而不是建议。因此不推荐,但请说明您为什么会或为什么不使用该功能以及您使用该功能的经验!
【问题讨论】:
-
简洁。写同样的东西,但更短。它允许开发者省略大括号和 return 语句。
-
可读性?紧凑?自动属性有什么好处?
-
有趣的方法。它还提供性能增强功能吗?
-
关于性能和生成的 IL 的差异,请参阅链接问题:相同。至于它是否是好的做法,或者使用它有什么好处;这是一个主观意见(因此偏离主题)。使用它,如果你喜欢它,不要使用它,如果你不喜欢它。它更短,所以对于许多人来说已经足够了。但我个人会避免使用它,因为涉及的表达式会变得更长或更复杂。