Nilai TextInfo.ListSeparator berubah
Nilai default TextInfo.ListSeparator untuk budaya yang berbeda telah berubah pada semua sistem operasi.
Deskripsi perubahan
Di .NET 5.0.0, sebagai bagian dari sakelar dari pustaka NLS ke ICU, nilai default TextInfo.ListSeparator untuk budaya yang berbeda berubah pada Windows. Nilai pemisah desimal, yang diperoleh dari Komponen Internasional untuk Unicode (ICU), digunakan sebagai ListSeparator nilai. Di Linux dan macOS, tidak ada perubahan TextInfo.ListSeparator nilai; yaitu, mereka terus menggunakan nilai pemisah desimal.
Untuk semua sistem operasi di .NET 5.0.1 dan versi yang lebih baru, nilai untuk TextInfo.ListSeparator setara dengan nilai yang akan diperoleh dari NLS. Untuk Windows, ini berarti nilai setara dengan apa yang ada di .NET Framework dan .NET Core 1.0 - 3.1. Untuk Linux dan macOS, TextInfo.ListSeparator nilai sekarang cocok dengan TextInfo.ListSeparator nilai untuk Windows.
Tabel berikut ini meringkas perubahan untuk TextInfo.ListSeparator nilai.
.NET Framework .NET Core 1.0 - 3.1 |
.NET 5 | .NET 5.0.1 | |
---|---|---|---|
Windows | Dapatkan dari NLS | Pemisah desimal dari ICU. Dapat beralih kembali ke NLS. |
Setara dengan NLS |
Linux dan macOS | Pemisah desimal dari ICU | Pemisah desimal dari ICU | Setara dengan NLS |
Versi yang diperkenalkan
5.0.1
Alasan untuk berubah
Pengembang melaporkan bahwa mereka menggunakan TextInfo.ListSeparator properti saat mengurai file nilai yang dipisahkan koma (CSV), dan nilai baru TextInfo.ListSeparator memutus penguraian tersebut.
Tindakan yang direkomendasikan
Jika kode Anda bergantung pada nilai pemisah desimal sebelumnya, Anda dapat melakukan hardcode nilai yang diinginkan TextInfo.ListSeparator .