.NET 10 中的新增功能

.NET 運行時

.NET 10 運行時引入了新功能和性能改進。 關鍵更新包括:

  • 數組接口方法反虛擬化:JIT 現在可以取消虛擬化和內聯數組接口方法,從而提高數組枚舉的性能。
  • 數組枚舉去抽象化:改進功能以通過枚舉器減少數組迭代的抽象開銷,從而實現更好的函數內聯和棧分配。
  • 后期非虛擬化方法的內聯:JIT 現在可內聯方法;而由于以前的內聯功能,這些方法現在可實現非虛擬化。
  • 基于內聯觀察的去虛擬化:JIT 使用內聯中的精確類型信息使后續調用去虛擬化。
  • 值類型的數組的堆棧分配:沒有 GC 指針的小型固定大小的數組現在可以進行堆棧分配。
  • AVX10.2 支持:為基于 x64 的處理器引入了對高級矢量擴展 (AVX) 10.2 的支持,但目前默認禁用。
  • NativeAOT 增強功能:支持在 NativeAOT 的類型預初始化器中進行強制轉換和求反。

有關詳細信息,請參閱 .NET 10 運行時?中的新增功能。

.NET 庫

.NET 10 庫引入了多項新功能和改進,包括:

  • 按 SHA-1 以外的指紋查找證書:新方法允許使用哈希算法(如 SHA-256)查找證書。
  • 在 ASCII/UTF-8 中查找 PEM 編碼數據:PEM?編碼 API 現在支持直接從 ASCII/UTF-8 數據讀取。
  • 面向 DateOnly 的 ISOWeek 支持:ISOWeek?類中的新重載支持?DateOnly?類型。
  • 用于跨度的字符串規范化 API:新的 API 允許 Unicode 字符串規范化處理字符跨度,從而減少內存分配。
  • 字符串比較的數字順序:新?CompareOptions.NumericOrdering?選項啟用數值字符串比較。
  • 新的 TimeSpan.FromMilliseconds 重載:單參數重載解決了 LINQ 表達式的問題。
  • ZipArchive 性能改進:優化可減少內存使用量,并提高模式和并行提取的性能ZipArchiveUpdate
  • OrderedDictionary 增強功能:新的?TryAdd?與?TryGetValue?重載會返回用于快速訪問的索引。
  • JSON 序列化更新:源代碼生成器現在允許在ReferenceHandler中指定JsonSourceGenerationOptionsAttribute。
  • 左手系矩陣變換:用于創建左手系變換矩陣的新 API。
  • PKCS#12 導出增強功能:新方法允許指定 PKCS#12/PFX 導出的加密和摘要算法。

有關詳細信息,請參閱?.NET 10 庫中的新增功能。

.NET SDK

.NET 10 SDK 引入了以下新功能和增強功能,包括:

  • 刪除框架提供的包引用:自動刪除未使用的框架提供的包引用,減少生成時間和磁盤使用率。
  • 更一致的命令順序:CLI 命令的新名詞優先別名?dotnet?可提高可讀性和一致性。

有關詳細信息,請參閱 SDK for .NET 10?中的新增功能。

.NET Aspire

.NET Aspire 發布 9.1 版本,重點在于優化用戶體驗。

有關詳細信息,請參閱?.NET Aspire 9.1中的新增功能。

ASP.NET Core

ASP.NET Core 10.0 版本引入了多項新功能和增強功能,包括:

  • Blazor 增強功能

    • 將?ReconnectModal?組件添加到 Blazor Web App 項目模板,改進了重新連接 UI 控件。
    • NavigateTo?方法在同頁導航時不再自動滾動到頂部。
    • 組件?NavLink?現在在使用?NavLinkMatch.All時忽略查詢字符串和片段。
    • 向?QuickGrid?添加了?RowClass?參數,以根據行數據將樣式應用于行。
    • 向?QuickGrid?添加了?CloseColumnOptionsAsync?方法,以便以編程方式關閉列選項。
    • Blazor 框架腳本現在作為啟用了預壓縮和指紋的靜態 Web 資源提供。
  • OpenAPI 改進

    • 添加了對生成 OpenAPI 版本 3.1 文檔的支持。
    • 添加了對以 YAML 格式提供 OpenAPI 文檔的支持。
    • 將 XML 文檔注釋填充到 OpenAPI 文檔中。
  • 最小 API

    • 改進了使用頂級語句的應用的集成測試。
    • 表單提交中的空字符串現在會被視為可為 Null 的值類型的?null
  • 身份驗證和授權

    • 添加了用于身份驗證和授權事件的新指標。
  • 雜項

    • 添加了用于檢測本地 URL 的RedirectHttpResult.IsLocalUrl輔助方法。
    • 在?RouteAttribute?中新增了對路由語法進行突出顯示的支持。

有關詳細信息,請參閱?.NET 10 中 ASP.NET Core 的新增功能。

C# 14

C# 14 引入了多項新功能和增強功能,以提高開發人員的工作效率和代碼質量。 關鍵更新包括:

  • 字段支持的屬性:提供從自動實現的屬性到編寫自定義?get?和?set?訪問器的更流暢的路徑。 現在可以使用上下文關鍵字訪問?field?編譯器生成的后盾字段。
  • 未綁定泛型支持?nameof:表達式?nameof?現在支持未綁定泛型類型,例如?List<>,返回類型的名稱而無需類型參數。
  • 隱式跨度轉換:為附帶新的隱式轉換的?Span<T>?和?ReadOnlySpan<T>?引入了一流支持,以便讓使用這些類型的編程更為自然。
  • 簡單 lambda 參數的修飾符:允許參數修飾符(例如?ref,?in或在?out?lambda 表達式中)不指定參數類型。
  • 實驗功能 - 數據部分中的字符串文本:允許將字符串文本作為 UTF-8 數據發出到 PE 文件的單獨部分,從而提高某些方案的效率。
  • 部分事件和構造函數:添加了對部分實例構造函數和部分事件的支持,并補充了 C# 13 中引入的部分方法和屬性。

有關詳細信息,請參閱?C# 14中的新增功能。

.NET MAUI

.NET 10 中的 .NET MAUI 更新包括適用于 .NET MAUI、適用于 Android 的 .NET 以及適用于 iOS、Mac Catalyst、macOS 和 tvOS 的 .NET 的多項新功能和質量改進。 關鍵更新包括:

  • 常規改進

    • 用于在?VisualElement?上將格式化后的字符串轉換為?Shadow?的新?ShadowTypeConverter
    • 添加了?SpeechOptions.Rate?用于控制文本轉語音中的播放速率。
    • 支持在 iOS 和 Mac Catalyst 上將模態窗口樣式設為彈出樣式。
    • 添加了?Switch.OffColor?用于在關閉時自定義控件顏色?Switch?。
    • 添加了?SearchBar.SearchIconColor?用于自定義搜索圖標的顏色。
    • 無需泛型參數即可調用 JavaScript 的新?HybridWebView.InvokeJavascriptAsync?方法。
  • 棄用功能

    • FontImageExtension?XAML 標記擴展已棄用。 請改用?FontImageSource
    • MessagingCenter?現在為內部功能。 將其替換為?CommunityToolkit.Mvvm?包中的?WeakReferenceMessenger
  • 適用于 Android 的 .NET

    • 支持 Android 16 (API-36) Beta 1。
    • 已將建議的最低支持 Android API 更新為 24 (Nougat)。
    • 支持使用 JDK-21 進行構建。
    • 添加了對 Android 項目中?dotnet run?的支持。
    • 默認啟用封送方法以提高啟動性能。
    • 設計時生成不再調用?aapt2,從而縮短生成時間。
  • 適用于 iOS、Mac Catalyst、macOS、tvOS 的 .NET

    • 剪裁器警告現在默認處于啟用狀態。
    • 庫中的原始資源捆綁功能現在可選擇不使用。

有關詳細信息,請參閱?.NET 10 中 .NET MAUI 的新增功能。

EF Core

EF Core 10 版本引入了多項新功能和改進,包括:

  • LINQ 增強功能

    • 添加了對?LeftJoin?運算符的支持,簡化了需要?LEFT JOIN?操作的 LINQ 查詢。
    • 添加了對?RightJoin?運算符的支持,啟用需要?RIGHT JOIN?操作的 LINQ 查詢。
  • ExecuteUpdateAsync 改進

    • ExecuteUpdateAsync?現在接受常規的非表達式 lambda,從而在更新實體時降低冗長度。
  • 性能優化

    • 改進了DateOnly.ToDateTime(timeOnly)的翻譯。
    • 優化了多個連續的?LIMIT?操作。
    • 增強了?ICollection<T>?上?Count?操作的性能。
    • 優化了?DISTINCT?上的?MIN/MAX?操作。
  • 雜項

    • SQL 查詢中的參數名稱簡化(例如,從@__city_0city)。
    • 添加了對使用?DatePart.Microsecond?和?DatePart.Nanosecond?的日期/時間函數的翻譯。
    • 使 SQL Server 基架與 Azure 數據資源管理器兼容。

有關詳細信息,請參閱?EF Core for .NET 10中的新增功能。

F#

.NET 10 中的 F# 更新包括語言、標準庫和編譯器服務的多項新功能和改進。 關鍵更新包括:

  • F# 語言

    • 新的語言功能需要在文件中啟用?<LangVersion>preview</LangVersion>?項目屬性?.fsproj?。 這些功能成為 .NET 10 版本的默認功能。
  • FSharp.Core 標準庫

    • FSharp.Core?標準庫的更改會自動應用于使用新 SDK 編譯的項目,除非顯式了固定較低的?FSharp.Core?版本。
  • FSharp.Compiler.Service

    • 編譯器實現中的常規改進和 bug 修復。

有關詳細信息,請參閱?F# 發行說明。

Visual Basic

.NET 10 中的 Visual Basic 更新包括以下功能和增強功能:

  • unmanaged?約束支持:Visual Basic 編譯器現在解釋并強制實施?unmanaged?泛型約束,從而更好地與運行時 API 兼容。
  • 遵循重載解析優先級:Visual Basic 編譯器依照此?OverloadResolutionPriorityAttribute,優先選擇性能更好的基于 Span 的重載,并解決方法重載間的歧義。

這些更新可確保 Visual Basic 可以在 C# 和運行時中使用更新的功能,從而提高兼容性和性能。

有關詳細信息,請參閱?Visual Basic 中的新增功能。

Windows 窗體

適用于 .NET 10 的 Windows 窗體中的更改包括:

  • 與剪貼板相關的更新

    • 引入了新的 API,用于從剪貼板進行 JSON 序列化和類型安全的數據檢索,例如?SetDataAsJson<T>?和?TryGetData<T>
    • 將多個與剪貼板相關的 API 標記為已過時,以警告開發人員潛在的?BinaryFormatter?使用情況。
    • 添加了配置開關 (Windows.ClipboardDragDrop.EnableUnsafeBinaryFormatterSerialization) 以為剪貼板場景顯式啟用?BinaryFormatter
    • 使用 WPF 統一剪貼板代碼來提高一致性和可靠性。
  • 移植的 UITypeEditors

    • 從 .NET Framework 移植了多個?UITypeEditors,其中包括與?DataGridView?控件相關的?ToolStripCollectionEditor?和編輯器。
  • 質量增強功能

    • 擴展了單元測試覆蓋范圍并解決了各種 bug 修復,以提高穩定性和性能。

有關詳細信息,請參閱?.NET 10 的 Windows 窗體中的新增功能。

WPF(Windows Presentation Foundation)

.NET 10 中的 WPF 更新包括多項性能改進、Fluent 樣式更改、bug 修復和工程運行狀況更新:

  • 性能改進

    • 將數據結構從PartialList替換為ReadOnlyCollection以提升性能。
    • 優化 UI 自動化和文件對話框操作,以最大程度地減少資源分配。
    • 改進了像素格式轉換性能。
  • Fluent 樣式更改

    • 更新了Label的默認樣式。
    • 通過調整?KeyTime?值修復了?Expander?的動畫問題。
  • Bug 修復

    • 解決了 UI 元素游標類型的問題以及當位圖流為 null 時導致的崩潰問題。
    • 修復了?ScrollViewer?和 . 的?ContextMenu本地化問題。
    • 解決了?BitmapMetadata?和本地依賴項中的次要 bug。
  • 工程運行狀況

    • 跨 WPF 組件更新并同步了?MilCodeGen
    • 刪除了棄用的 .NET 運行時引用和不必要的包依賴項。
    • 對生成的代碼進行樣式清理并禁用了代碼分析,以簡化構建過程。

有關詳細信息,請參閱?.NET 10 中的 WPF 中的新增功能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78356.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78356.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78356.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

盲注命令執行(Blind Command Execution)

一、核心原理 1. 無回顯命令執行的本質 盲命令執行&#xff08;Blind Command Execution&#xff09;是一種攻擊形式&#xff0c;攻擊者通過注入系統命令到Web應用或后端系統中&#xff0c;但無法直接獲取命令執行結果。盲命令執行的本質在于攻擊者無法直接看到執行結果&#x…

Linux多線程技術

什么是線程 在一個程序里的多執行路線就是線程。線程是進程中的最小執行單元&#xff0c;可理解為 “進程內的一條執行流水線”。 進程和線程的區別 進程是資源分配的基本單位&#xff0c;線程是CPU調度的基本單位。 fork創建出一個新的進程&#xff0c;會創建出一個新的拷貝&…

計算機組成原理實驗(1) 算術邏輯運算單元實驗

實驗一 算術邏輯運算單元實驗 一、實驗目的 1、掌握簡單運算器的數據傳輸方式 2、掌握74LS181的功能和應用 二、實驗內容 1、不帶進位位邏輯或運算實驗 2、不帶進位位加法運算實驗 3、實驗指導書2.15實驗思考 三、實驗步驟和結果 實驗內容一&#xff1a;不帶進位…

Android將啟動畫面實現遷移到 Android 12 及更高版本

如果在 Android 11 或更低版本中實現自定義啟動畫面&#xff0c;請遷移應用遷移到 SplashScreen API 以獲取幫助 確保其在 Android 12 及更高版本中正確顯示。 從 Android 12 開始&#xff0c;在所有應用的冷啟動和溫啟動期間&#xff0c;系統都會應用 Android 系統的默認啟動…

692. 前K個高頻單詞(map的練習)

目錄 1、題目分析 2.解題思路 3.代碼實現 4.總結 1、題目分析 2.解題思路 首先它給出我們一個string&#xff0c;讓我們提取出它們中出現次數最多的。利用map將word一個一個存入其中&#xff0c;沒有就插入&#xff0c;有了就1&#xff0c;這樣我們就得到了key_value&#…

如何創建極狐GitLab 議題?

極狐GitLab 是 GitLab 在中國的發行版&#xff0c;關于中文參考文檔和資料有&#xff1a; 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 創建議題 (BASIC ALL) 創建議題時&#xff0c;系統會提示您輸入議題的字段。 如果您知道要分配給議題的值&#xff0c;則可…

day32 學習筆記

文章目錄 前言一、霍夫變換二、標準霍夫變換三、統計概率霍夫變換四、霍夫圓變換 前言 通過今天的學習&#xff0c;我掌握了霍夫變換的基本原本原理及其在OpenCV中的應用方法 一、霍夫變換 霍夫變換是圖像處理中的常用技術&#xff0c;主要用于檢測圖像中的直線&#xff0c;圓…

圖解YOLO(You Only Look Once)目標檢測(v1-v5)

1. YOLO系列整體介紹 YOLO屬于深度學習經典檢測方法中的單階段&#xff08;one - stage&#xff09;類型&#xff0c;與兩階段&#xff08;two - stage&#xff0c;如Faster - rcnn、Mask - Rcnn系列&#xff09;方法相對。 不同模型性能 單階段方法的最核心優勢是速度非常快…

C# 類型、存儲和變量(靜態類型和dynamic關鍵字、可空類型)

本章內容 C#程序是一組類型聲明 類型是一種模板 實例化類型 數據成員和函數成員 預定義類型 用戶定義類型 棧和堆 值類型和引用類型 變量 靜態類型和dynamic關鍵字 可空類型 靜態類型和dynamic關鍵字 你可能巳經注意到了&#xff0c;每一個變量都包括變量類型。這樣編譯器就可…

信奧賽之c++基礎(初識循環嵌套與ASCII密碼本)

?? 游樂園編程奇遇記——循環嵌套與ASCII密碼本 ?? 第一章:摩天輪與旋轉木馬——循環嵌套 ?? 游樂場里的雙重循環 for(int 排數=1; 排數<=3; 排數++){// 外層循環像摩天輪for(int 座位=1; 座位<=5; 座位++){// 內層循環像旋轉木馬cout << "??"…

Spine 動畫教程:皮膚制作

一、前言 擱了很久的抖音直播小玩法開發&#xff0c;最近又讓我想起來了。由于是初次嘗試&#xff0c;所以我將開發費用的預算降到為零。不但不買服務器采用 UnitySDK 的指令直推&#xff0c;而且游戲的資產也用 AI 生成&#xff0c;主打省時又省錢。 但是圖片有了&#xff0…

論文閱讀筆記——π0.5: a Vision-Language-Action Model with Open-World Generalization

π0.5 論文 通過異構數據協同訓練與分層推理&#xff0c;用中等規模的目標數據&#xff08;400小時&#xff09;實現了大規模泛化能力&#xff0c;為現實世界機器人學習提供了新范式。 高層推理(high-level) 根據當前觀測和任務指令預測子任務&#xff08;如“打開抽屜”&…

記錄搭建自己應用中心

記錄搭建自己應用中心 應用架構主應用-管理中心系統文件系統子應用 日志系統日志系統前端日志系統后端 用戶系統接入使用暫未完成 研發管理需求面板消息推送任務分配應用發布 應用架構 一直想做個試試&#xff0c;這是一個簡易版的&#xff0c;主要是整合下知識的&#xff0c;…

【網工第6版】第5章 網絡互聯⑦

目錄 ▲ 路由協議OSPF ◎ OSPF簡介 ◎ OSPF特點 本章重要程度&#xff1a;☆☆☆☆☆ ▲ 路由協議OSPF ◎ OSPF簡介 OSPF(Open Shortest Path First,開放式最短路徑優先協議)是目前應用最廣泛的路由協議。 OSPF是一種內部網關協議IGP&#xff0c;也是鏈路狀態路由協議&am…

5.3 Dify:低代碼平臺,適用于企業快速部署合規AI應用

Dify作為一款開源低代碼平臺&#xff0c;已成為企業快速構建和部署合規AI應用的首選工具。Dify通過整合后端即服務&#xff08;Backend-as-a-Service, BaaS&#xff09;、大型語言模型操作&#xff08;LLMOps&#xff09;以及直觀的視覺化界面&#xff0c;顯著降低了AI應用開發…

AI 編程工具:Augment Code

Meet Augment Agent: Your AI pair programmer that deeply understands your codebase, and learns as you work Augment 是開發人員AI平臺&#xff0c;它可以幫助您理解代碼、調試問題&#xff0c;并更快地發布&#xff0c;因為它了解您的代碼庫。使用聊天、Next Edit和Augme…

vc++ 如何調用poco庫

1. 下載并安裝 Poco 庫 你可以從 Poco 的官方網站&#xff08;POCO C Libraries - Simplify C Development &#xff09;下載其源代碼壓縮包。下載完成后&#xff0c;按照下面的步驟進行編譯和安裝&#xff1a; 解壓源代碼&#xff1a;把下載的壓縮包解壓到指定目錄。配置編譯…

淺談OpenAIClaude LLM Tools的額外配置

前言 https://platform.openai.com/docs/guides/function-calling?api-modechat&strict-modedisabled#additional-configurationshttps://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview#forcing-tool-use tool_choice “none” 就是不用tools&#x…

SystemWeaver詳解:從入門到精通的深度實戰指南

SystemWeaver詳解&#xff1a;從入門到精通的深度實戰指南 文章目錄 SystemWeaver詳解&#xff1a;從入門到精通的深度實戰指南一、SystemWeaver環境搭建與基礎配置1.1 多平臺安裝全流程 二、新手必學的十大核心操作2.1 項目創建全流程2.2 建模工具箱深度解析 三、需求工程與系…

力扣DAY68 | 熱100 | 尋找兩個正序數組的中位數

前言 困難 ○ 這題搞了3天實在太難了&#xff0c;本質就是每次排除k/2個數&#xff0c;直到找到第k個數。 題目 給定兩個大小分別為 m 和 n 的正序&#xff08;從小到大&#xff09;數組 nums1 和 nums2。請你找出并返回這兩個正序數組的 中位數 。 算法的時間復雜度應該為…