Share via


TextInfo.ListSeparator 值已變更

不同文化特性的預設 TextInfo.ListSeparator 值,在所有作業系統上都已變更。

變更描述

在 .NET 5.0.0 中,從 NLS 切換至 ICU 程式庫時,Windows 上不同文化特性的預設 TextInfo.ListSeparator 值已變更。 從 International Components for Unicode (ICU) 取得的十進位分隔符號值會當做 ListSeparator 值使用。 在 Linux 和 macOS 上,TextInfo.ListSeparator 值沒有任何變更;也就是會繼續使用十進位分隔符號值。

在 .NET 5.0.1 和更新版本的所有作業系統,TextInfo.ListSeparator 的值則相當於從 NLS 取得的值。 在 Windows,這表示這些值相當於 .NET Framework 和 .NET Core 1.0 - 3.1 中的相等內容。 在 Linux 和 macOS,TextInfo.ListSeparator 值現在與 Windows 的 TextInfo.ListSeparator 值相符。

下表摘要說明 TextInfo.ListSeparator 值的變更。

.NET Framework
.NET Core 1.0 - 3.1
.NET 5 .NET 5.0.1
Windows 從 NLS 取得 ICU 的十進位分隔符號。
可以切換回 NLS。
相當於 NLS
Linux 和 macOS ICU 的十進位分隔符號 ICU 的十進位分隔符號 相當於 NLS

導入的版本

5.0.1

變更原因

開發人員回報,他們在剖析逗號分隔值 (CSV) 檔案時使用 TextInfo.ListSeparator 屬性,而新的 TextInfo.ListSeparator 值會中斷該剖析。

如果您的程式碼使用先前的十進位分隔符號值,您可以硬式編碼所需的 TextInfo.ListSeparator 值。

受影響的 API