用于赋值的 C# lambda 运算符

C# lambda operator for assignment

我今天在我们的代码库中遇到了这个,我花了一段时间才看到它的效果,但这究竟意味着什么??

public virtual SomeClass InstanceVariable => new SomeClass("arg1", "arg2");

我在 Visual Studio 的 C# 交互式终端中试了一下,发现它似乎等同于:

public virtual SomeClass InstanceVariable { get { new SomeClass("arg1", "arg2"); } }

但是,对于只读 属性。

,我找不到任何关于 'syntactic sugar' 形式的文档

有人想说明一下这个场景吗?

它来自新的 C# 6.0。默认情况下,您可以实例化 class。检查 "Expression Bodied Functions and Properties" 篇 https://msdn.microsoft.com/en-us/magazine/dn802602.aspx 篇文章