查看一些源代码,我找到了这个运算符
() => { }
从阅读MSDN我现在知道它是lambda运算符,但它对(}通过{}的影响是什么?它用作类构造函数的参数。
答案 0 :(得分:13)
它是一个Action
(无参数,无参数)委托,其主体不执行任何操作。当需要非空委托时可能很有用(可能是为了简化回调或事件调用,因为在null
上调用是一个错误),但你没有任何具体要做。
答案 1 :(得分:7)
它可以被称为空委托。它什么都不做,但是在不检查null
的情况下调用它是安全的。占位符排序。
我这样用:
event Action SafeEvent = () => { };
event Action NullableEvent;
void Meth()
{
//Always ok
SafeEvent();
//Not safe
NullableEvent();
//Safe
if (NullableEvent != null)
NullableEvent();
}
答案 2 :(得分:3)
它可能是构造函数中Action的参数。通过执行() => { }
,为对象提供一个有效的Action来执行,在调用时不执行任何操作。
答案 3 :(得分:3)
()参数列表
=> lambda调用
{}执行代码的范围(可选,如果它是单行代码)
答案 4 :(得分:2)
这可能会帮助您更清楚地理解......
()=> {}
相当于
function(){}
另一个例子:
(i)=> {i + = 1; }
相当于
function(int i){i + = 1; }