把C#當成直譯式語言來用

在.NET10,可以單獨執行cs檔案了,傳統上就算我只是想寫個簡單的Console程式,還是得開IDE並新增專案,雖然有了VS Code後,可以降低電腦效能上的浪費,但對於只是簡單的程式碼而言,還是很浪費,而現在.NET10支援這個方式,可以像Python一樣當成直譯式語言來用(雖然本質上還是會先編譯)。
這邊先開個簡單的範例,首先新增main.cs檔案,然後加入下列程式碼:
Console.WriteLine("Hello, World!");
int count = 0;
for (int i = 0; i < 10; i++)
{
count = count + 1;
}
Console.WriteLine($"Count: {count}");
然後執行dotnet run main.cs,就可以直接跑出結果,是不是很簡單。
接下來,寫個簡易的Web API,程式碼如下:
#!/usr/bin/dotnet run
#: sdk Aspire.AppHost.Sdk@13.0.0
#: package Aspire.Hosting.AppHost@13.0.0
using Microsoft.AspNetCore.Builder;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// [GET]
app.MapGet("/", () => "Hello World!");
// [POST]
app.MapPost("/echo", (Data data) =>
{
var jsonData = new { Received = data.Title };
return jsonData;
});
// Start the server
Console.WriteLine("API Server is running on http://localhost:5000");
app.Run("http://localhost:5000");
record Data(string Title);
啟動後,首頁會回一個Hello World!,POST資料過去會直接回傳回來,這方式其實也可以用在Job上,寫一支單檔的cs,週期性的直接執行就好。
參考資料