【问题标题】:How does the lambda expression work in Program.cs file of Razor pages?Razor 页面的 Program.cs 文件中的 lambda 表达式如何工作?
【发布时间】:2018-09-14 07:56:33
【问题描述】:

我正在学习使用 Razor 页面 (.NET Core 2.0) 构建网页,而且我对 C# 本身还很陌生。所以,我浏览了这段代码:

public class Program
{
public static void Main(string[] args)
{
  BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
  WebHost.CreateDefaultBuilder(args)
  .UseStartup<Startup>()
  .Build();
}

我无法理解这里 lambda 表达式的用法?这是一个匿名函数还是委托?我一直在寻找答案,但失败了。谁能帮我理解这一点?

谢谢

【问题讨论】:

  • 简而言之,如果您的方法只有一行,您可以使用=&gt; 而不是开/关括号,仅此而已。
  • 感谢您的解释!
  • 这不是一个 lambda,它是一个“表达式主体方法”——一种新的短语法,用于只有一个 return 语句的方法。

标签: c# asp.net lambda asp.net-core delegates


【解决方案1】:

因为它是一行代码,所以我们可以使用=&gt;

同理:

public static IWebHost BuildWebHost(string[] args) 
{
    return WebHost
            .CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-28
  • 2013-11-23
  • 2010-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多