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 值。