C#中"()=>"是什么意思?

Edw*_*uay 16 c# syntax lambda

在综合申请指南中涉及以下内容.

我知道=>是一个lambda但是()是什么意思?

还有其他一些例子吗?

它叫什么,所以我可以搜索它?

this.regionViewRegistry.RegisterViewWithRegion(RegionNames.SelectionRegion
        , () => this.container.Resolve<EmployeesListPresenter>().View);
Run Code Online (Sandbox Code Playgroud)

War*_*uck 22

这是一个带有0个参数的lambda表达式

http://msdn.microsoft.com/en-us/library/bb397687.aspx


Men*_*elt 17

如果你看看 x => x + 1

它采用参数x并返回x加1.编译器将使用类型推断来推断x可能是int类型并且将返回另一个int,因此你有一个lambda,它接受类型为int的参数x并返回一个整数.

() => 3;
Run Code Online (Sandbox Code Playgroud)

是相同但不带参数,它将返回一个整数.

() => Console.WriteLine("hello");
Run Code Online (Sandbox Code Playgroud)

将导致没有参数的void方法.


Ale*_*ort 10

这是一个空参数列表,意味着lambda表达式不带参数.