[英]Strange lambda expression [duplicate]
这个问题已经在这里有了答案:
我正在看一些C#源代码,碰到了这段我不理解的代码。
someVariable += (s,_) => this.Close();
这是怎么回事
下划线是有效的变量名。 它应该表示最有可能未使用的变量。
我这样使用它来表示不再进一步使用变量:
someVariable += (_,__) => this.Close();
s
和_
仅是此lambda函数中未使用的参数。
正如其他人已经指出的那样, s
和_
是用作匿名方法的参数的变量。
为了您的理解,
someVariable += (s,_) => this.Close();
与...几乎相同
someVariable += AnonymousMethod;
private void AnonymousMethod(object s, object _)
{
this.Close();
}
通过someVariable
事件的定义自动推断方法的参数类型。 我使用object
因为我们不知道事件的定义方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.