在.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,週期性的直接執行就好。

參考資料