【问题标题】:What does "() =>" mean in C#?C# 中的“() =>”是什么意思?
【发布时间】:2010-10-12 10:24:51
【问题描述】:

在复合应用程序指南中遇到以下行。

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

还有哪些其他的例子?

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

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

【问题讨论】:

  • 确实如此。 C# 正在变成 Perl!

标签: c# syntax lambda


【解决方案1】:

这是一个接受 0 个参数的 lambda 表达式

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

【讨论】:

    【解决方案2】:

    如果你看x =&gt; x + 1

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

    () => 3;
    

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

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

    将产生一个没有参数的 void 方法。

    【讨论】:

      【解决方案3】:

      这是一个空参数列表,意味着 lambda 表达式不接受任何参数。

      【讨论】:

        猜你喜欢
        • 2013-03-09
        • 2019-09-12
        • 2016-12-08
        • 2011-07-07
        • 2016-04-19
        • 2015-04-11
        • 2012-04-25
        • 2011-08-25
        • 2016-04-03
        相关资源
        最近更新 更多