Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
DataContractSerializer et DataContractJsonSerializer ont précédemment ignoré le signe lors de la désérialisation de l’entrée « -0 » en tant que nombre flottant ou nombre double. Les deux sérialiseurs ont toujours fait ce qui convenait quand ils recevaient « -0,0 » en entrée, mais avec une entrée « -0 », le signe était perdu. Ce comportement est incohérent et entraîne une perte de données. En outre, ces sérialiseurs écrivent une valeur « -0 » pour le zéro négatif lors de la sérialisation.
Comportement précédent
Auparavant, le signe négatif était perdu lors de la désérialisation de « -0 » (mais pas pour « -0,0 ») sous forme de float ou de double en utilisant DataContractSerializer.
Nouveau comportement
Le signe négatif est désormais conservé lors de la désérialisation de « -0 » en tant que nombre flottant ou nombre double.
Version introduite
- .NET 6.0.11 (version de maintenance)
- .NET 7
Type de changement cassant
Cette modification peut affecter la compatibilité binaire.
Raison de la modification
Le comportement précédent était incohérent et a entraîné une perte de données.
Action recommandée
Dans la plupart des cas, aucune action n’est nécessaire. Si votre code a été affecté par le bogue, il s’agit d’un bon changement. Vous avez peut-être aussi pu contourner le bogue d’une façon qui ne risque pas de poser problème avec ce changement.