.NET 3.0 中的全球化中斷性變更

本頁面說明下列中斷性變更:

重大變更 導入的版本
"C" 地區設定表示不因地區設定而異 3.0

.NET Core 3.0

"C" 地區設定表示不因地區設定而異

.NET Core 2.2 和舊版相依於預設的 ICU 行為,該行為會將 "C" 地區設定對應至 en_US_POSIX 地區設定。 en_US_POSIX 地區設定不支援不區分大小寫的字串比較,因此會有不需要的定序行為。 由於某些 Linux 發行版本會將 "C" 地區設定設為預設地區設定,因此使用者會遇到非預期行為。

變更描述

從 .NET Core 3.0 開始,"C" 地區設定對應已變更為使用非變異地區設定,而不是 en_US_POSIX。 為了保持一致,"C" 地區設定的非變異對應也會套用至 Windows。

將 "C" 對應至 en_US_POSIX 文化特性會造成客戶混淆,因為 en_US_POSIX 不支援不區分大小寫排序/搜尋字串作業。 由於某些 Linux 散發版使用 "C" 地區設定作為預設地區設定,造成客戶在這些作業系統上遇到這項不必要的行為。

導入的版本

3.0

對使用者來說,這項變更最明確具體。 這項變更只會影響使用 "C" 地區設定對應的應用程式。

類別

全球化

受影響的 API

所有定序和文化特性 API 都會受到這項變更的影響。