C# lambda表达式在Razor页面的Program.cs文件中是如何工作的?

C# lambda表达式在Razor页面的Program.cs文件中是如何工作的?,c#,asp.net,lambda,asp.net-core,delegates,C#,Asp.net,Lambda,Asp.net Core,Delegates,我正在学习使用Razor页面(.NETCore2.0)构建网页,我对C#本身相当陌生。所以,我看了这段代码: public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseS

我正在学习使用Razor页面(.NETCore2.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();
}
公共类程序
{
公共静态void Main(字符串[]args)
{
BuildWebHost(args.Run();
}
公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}
我不能理解lambda表达式在这里的用法?这是匿名函数还是委托?我一直在寻找答案,但失败了。有人能帮我理解吗


谢谢,因为这是单行代码,所以我们可以使用

这与:

public static IWebHost BuildWebHost(string[] args) 
{
    return WebHost
            .CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}
公共静态IWebHost BuildWebHost(字符串[]args)
{
返回网络主机
.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}

因为它是单行代码,所以我们可以使用
=>

这与:

public static IWebHost BuildWebHost(string[] args) 
{
    return WebHost
            .CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}
公共静态IWebHost BuildWebHost(字符串[]args)
{
返回网络主机
.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}

简单地说,如果您的方法只有一行,您可以使用
=>
而不是开/关括号,仅此而已。感谢您的解释!这不是lambda,它是一个“表达式体方法”——一种新的简短语法,用于只包含返回语句的方法。简单地说,如果您的方法只有一行,您可以使用
=>
而不是开/闭括号,仅此而已。感谢您的解释!这不是lambda,它是一个“表达式体方法”——一个新的简短语法,用于只包含return语句的方法。感谢您的解释!不客气!有关C#中Lambda表达式的更多详细信息,本文档可能会帮助您:感谢您的解释!不客气!有关C#中Lambda表达式的更多详细信息,本文档可能会帮助您: