Änderung der TextInfo.ListSeparator-Werte
Die TextInfo.ListSeparator-Standardwerte für verschiedene Kulturen haben sich bei allen Betriebssystemen geändert.
Änderungsbeschreibung
Im Rahmen der Umstellung von NLS- auf ICU-Bibliotheken wurden in .NET 5.0.0 die Standardwerte für TextInfo.ListSeparator für verschiedene Kulturen unter Windows geändert. Dezimaltrennzeichenwerte, die von International Components for Unicode (ICU) abgerufen wurden, wurden als ListSeparator-Werte verwendet. Unter Linux und macOS wurden keine Änderungen an TextInfo.ListSeparator-Werten vorgenommen, d. h. sie verwenden weiterhin Dezimaltrennzeichenwerte.
Für alle Betriebssysteme in .NET 5.0.1 und höheren Versionen entsprechen die Werte für TextInfo.ListSeparator den Werten, die von NLS abgerufen werden. Für Windows bedeutet dies, dass die Werte den Werten in .NET Framework und .NET Core 1.0–3.1 entsprechen. Für Linux und macOS stimmen die TextInfo.ListSeparator-Werte nun mit den TextInfo.ListSeparator-Werten für Windows überein.
Die folgende Tabelle enthält die Änderungen für TextInfo.ListSeparator-Werte.
.NET Framework .NET Core 1.0–3.1 |
.NET 5 | .NET 5.0.1 | |
---|---|---|---|
Windows | Aus NLS abrufen | Dezimaltrennzeichen aus ICU Kann zurück zu NLS wechseln |
Entspricht NLS |
Linux und macOS | Dezimaltrennzeichen aus ICU | Dezimaltrennzeichen aus ICU | Entspricht NLS |
Eingeführt in Version
5.0.1
Grund für die Änderung
Entwickler haben gemeldet, dass sie die TextInfo.ListSeparator-Eigenschaft beim Parsen von durch Trennzeichen getrennte Dateien (CSV) verwenden und die neuen TextInfo.ListSeparator-Werte diesen Parservorgang unterbrechen.
Empfohlene Maßnahme
Wenn Ihr Code auf den vorherigen Dezimaltrennzeichen basiert, können Sie die gewünschten TextInfo.ListSeparator-Werte hartkodieren.