Ä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.

Wenn Ihr Code auf den vorherigen Dezimaltrennzeichen basiert, können Sie die gewünschten TextInfo.ListSeparator-Werte hartkodieren.

Betroffene APIs