8pr*_*ons 11 .net c# asp.net program-entry-point .net-core
当您使用最新的 .NET Framework 创建新应用程序时,Program.cs 如下所示:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
Run Code Online (Sandbox Code Playgroud)
如果您想知道 - 这实际上是整个文件。不public class Program; 不包括;没有构造函数。回到“那天”,这一切都被包含在Main名为 的类的函数中Program,如下所示:
public class Program
{
public async static Task Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
...
await host.RunAsync();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
webBuilder.UseStartup<Startup>());
}
Run Code Online (Sandbox Code Playgroud)
那么为什么要更改这种没有类定义的脚本样式格式呢Program.cs?
事实上,这在.NET框架中不会发生。这种新语法是随 .NET 6 和 C# 9 一起发布的。它称为顶级语句,旨在使您能够快速开始编码,而无需包含重复的仪式代码。它不是很有用,这个功能只是简化了开始编码所需的工作。
包含更多详细信息的文档:https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/top-level-statements
| 归档时间: |
|
| 查看次数: |
8882 次 |
| 最近记录: |