什么是“()=>”在C#中意味着什么?

时间:2009-03-10 14:04:22

标签: c# syntax lambda

在综合申请指南中找到以下内容。

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

还有其他一些例子吗?

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

this.regionViewRegistry.RegisterViewWithRegion(RegionNames.SelectionRegion
        , () => this.container.Resolve<EmployeesListPresenter>().View);

3 个答案:

答案 0 :(得分:22)

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

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

答案 1 :(得分:17)

如果你看x => x + 1

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

() => 3;

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

() => Console.WriteLine("hello");

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

答案 2 :(得分:10)

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