运算符'=>'在C#中意味着什么?

Kra*_*jak 6 c# lambda delegates

本声明中的"=>"表示什么?

del = new SomeDelegate(() => SomeAction());
Run Code Online (Sandbox Code Playgroud)

以上声明是否与此相同?

del = new SomeDelegate(this.SomeAction);
Run Code Online (Sandbox Code Playgroud)

谢谢.

mle*_*rle 7

基本上它指定了一个匿名函数,它不带任何调用SomeAction的参数.所以是的,它们在功能上是等价的.虽然不相等.使用lambda更相当于:

del = new SomeDelegate(this.CallSomeAction);
Run Code Online (Sandbox Code Playgroud)

其中CallSomeAction定义为:

public void CallSomeAction()
{
    this.SomeAction();
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!