=>;全局变量中的Lambda表达式
本文关键字:Lambda 表达式 全局变量 gt | 更新日期: 2023-09-27 18:28:20
看起来他正试图将全局"值"设置为构造函数中的字段。
这可能吗?
public class TestLambda
{
private bool value => inputValue == null;
public TestLambda(string inputValue)
{
// do stuff
}
}
是的,对于Expression体函数成员来说,这是有效的C#语法,假设inputValue
是类中的字段。
public class TestLambda
{
private string inputValue; // necessary
private bool value => inputValue == null;
public TestLambda(string inputValue)
{
this.inputValue = inputValue;
}
}
它可以在Roslyns的"C#中的新语言特性"中找到。
这是用于表达式体属性的C#语法。它是一个get-only属性,返回inputValue == null
。
C#5及以下等效物为
private bool value
{
get { return inputValue == null; }
}
是的,这是合法的C#6.0语法,前提是TestLambda
有一个名为inputValue
的字段。
在没有表达式体成员的情况下编写的等效代码如下所示:
public class TestLambda
{
private string inputValue;
private bool value
{
get { return inputValue == null; }
}
public TestLambda(string inputValue)
{
this.inputValue = inputValue;
}
}