Les valeurs TextInfo.ListSeparator ont été modifiées
Les valeurs par défaut TextInfo.ListSeparator des différentes cultures ont changé sur tous les systèmes d’exploitation.
Description de la modification
Dans .NET 5.0.0, dans le cadre du passage de NLS aux bibliothèques ICU, les valeurs par défaut TextInfo.ListSeparator des différentes cultures ont été modifiées sur Windows. Les valeurs de séparateur décimal, obtenues à partir de composants internationaux pour Unicode (ICU), ont été utilisées comme valeurs ListSeparator. Sur Linux et macOS, il n’y a pas eu de changement dans les valeurs TextInfo.ListSeparator ; c’est-à-dire qu’elles ont continué à utiliser des valeurs de séparateur décimal.
Pour tous les systèmes d’exploitation dans .NET 5.0.1 et versions ultérieures, les valeurs pour TextInfo.ListSeparator sont équivalentes aux valeurs qui seraient obtenues à partir de NLS. Pour Windows, cela signifie que les valeurs sont équivalentes à ce qu’elles étaient dans .NET Framework et .NET Core 1.0 - 3.1. Pour Linux et macOS, les valeurs TextInfo.ListSeparator correspondent désormais aux valeurs TextInfo.ListSeparator de Windows.
Le tableau suivant récapitule les changements des valeurs TextInfo.ListSeparator.
.NET Framework .NET Core 1.0 à 3.1 |
.NET 5 | .NET 5.0.1 | |
---|---|---|---|
Windows | Obtenues à partir de NLS | Séparateur décimal de l’ICU. Peut revenir à NLS. |
Équivaut à NLS |
Linux et macOS | Séparateur décimal de l’ICU | Séparateur décimal de l’ICU | Équivaut à NLS |
Version introduite
5.0.1
Raison du changement
Les développeurs ont signalé qu’ils utilisaient la propriété TextInfo.ListSeparator lors de l’analyse des fichiers CSV (Valeurs séparées par des virgules) et que les nouvelles valeurs TextInfo.ListSeparator ont cassé cette analyse.
Action recommandée
Si votre code s’appuie sur les valeurs de séparateur décimal précédentes, vous pouvez encoder en dur les valeurs TextInfo.ListSeparator souhaitées.