微軟推出了 .NET 10 的首個預覽版,這是該公司旗艦軟體開發平臺的一個重要新版本。該公司表示,.NET 10 可能會在 11 月釋出生產版本,它引入了 C# 14,並對 .NET 執行時、SDK、庫、ASP.NET Core、Blazor 和 .NET MAUI 進行了重大增強。
C# 14帶來的增強功能包括對語言中的System.Span<T>和的一流支援。微軟表示,這涉及新的隱式轉換,允許使用這些型別進行更自然的程式設計。這種支援可以提高效能,而不會帶來安全風險。同樣在 C# 14 中,引數可以是未繫結的泛型型別。C# 14 還允許開發人員向 lambda 表示式引數新增引數修飾符。
對於 .NET 10 這個新版本,微軟特別關注如何讓一些常用的程式設計功能跑得更快、更省資源。為了實現這個目標,他們改進了 JIT 編譯器(就是那個讓程式碼執行得更快的東西),讓它能更好地處理一些複雜的陣列操作。另外,他們還讓 JIT 編譯器在某些情況下,直接把一些小型的、固定大小的資料放在棧上(而不是堆上),這樣可以減少記憶體的使用和垃圾回收的壓力。
在 .NET 10 的庫裡面,微軟還加了一些新的 API(就是一些現成的工具函式),這些 API 可以處理字元的跨度和字串的規範化,避免不必要的記憶體分配。他們還加了一些新的工具來幫助處理 3D 圖形中的矩陣變換,並且改進了 ZipArchive(就是用來壓縮和解壓檔案的工具)的效能和記憶體使用。
.NET 10 是繼去年 11 月釋出的.NET 9之後的又一個新版本。在 .NET 10 的第一個預覽版中,還有一些其他的新功能和改進:
- 對於 F# 語言,現在能更好地處理一些複雜的結構,並且加了一個快取機制,讓型別轉換更快。
- 對於 .NET 10 的 SDK(開發工具包),NuGet Audit 功能現在可以自動去掉專案中沒有用到的包引用,減少不必要的負擔。
- Visual Basic 語言現在支援 unmanaged 約束(就是限制某些型別必須是簡單的、非託管的資料型別),並且編譯器現在能更好地處理一些方法過載的情況,優先選擇更快的新方法。
- ASP.NET Core(一個用來做網頁應用的框架)現在支援生成 OpenAPI 3.1 文件(就是用來描述 API 介面的文件),並且支援最新的 JSON Schema 標準。文件還可以用 YAML 格式生成。
- Blazor(一個用來做網頁應用的框架)現在支援路由語法的高亮顯示,方便開發者看清楚路由的結構。
- 對於實體框架(一個用來運算元據庫的工具),.NET 10 加了對 LINQ 查詢中 Left Join 的支援,讓這種查詢寫起來更方便。
- 最後,微軟還說,.NET MAUI(一個用來做跨平臺應用的框架)現在作為 .NET 的工作負載和多個 NuGet 包釋出,開發者可以更方便地把專案固定到某個特定版本,或者預覽一些還沒正式釋出的功能。
簡單來說,.NET 10 就是讓開發者寫程式碼更快、更省資源,還加了一堆新工具和功能來幫忙。