TextInfo.ListSeparator değerleri değiştirildi

Farklı kültürler için varsayılan TextInfo.ListSeparator değerler tüm işletim sistemlerinde değişmiştir.

Açıklama değiştirildi

.NET 5.0.0'da, NLS'den ICU kitaplıklarına geçişin bir parçası olarak, Windows'da farklı kültürler için varsayılan TextInfo.ListSeparator değerler değişti. Değerler olarak ListSeparator Unicode için Uluslararası Bileşenlerden (ICU) elde edilen ondalık ayırıcı değerleri kullanılmıştır. Linux ve macOS'ta değerlerde TextInfo.ListSeparator bir değişiklik olmadı; başka bir deyişle ondalık ayırıcı değerlerini kullanmaya devam ettiler.

.NET 5.0.1 ve sonraki sürümlerdeki tüm işletim sistemleri için TextInfo.ListSeparator değerleri, NLS'den elde edilecek değerlerle eşdeğerdir. Windows için bu, değerlerin .NET Framework ve .NET Core 1.0 - 3.1'deki değerlerle eşdeğer olduğu anlamına gelir. Linux ve macOS TextInfo.ListSeparator için değerler artık Windows değerleriyle TextInfo.ListSeparator eşleşmektedir.

Aşağıdaki tabloda değerlere TextInfo.ListSeparator yönelik değişiklikler özetlemektedir.

.NET Framework
.NET Core 1.0 - 3.1
.NET 5 .NET 5.0.1
Windows NLS'den alma ICU'dan ondalık ayırıcı.
NLS'ye geri dönebilir.
NLS ile eşdeğer
Linux ve macOS ICU'dan ondalık ayırıcı ICU'dan ondalık ayırıcı NLS ile eşdeğer

Sürüm kullanıma sunulmuştur

5.0.1

Değişiklik nedeni

Geliştiriciler, virgülle TextInfo.ListSeparator ayrılmış değer (CSV) dosyalarını ayrıştırırken özelliğini kullandıklarını ve yeni TextInfo.ListSeparator değerlerin bu ayrıştırma işlemini bozduğunu bildirdi.

Kodunuz önceki ondalık ayırıcı değerleri kullanıyorsa, istediğiniz TextInfo.ListSeparator değerleri sabit kodlayabilirsiniz.

Etkilenen API’ler