Aracılığıyla paylaş


-0 seri durumdan çıkarılırken DataContractSerializer işareti korur

DataContractSerializer ve DataContractJsonSerializer daha önce "-0" girişini float veya double olarak seri durumdan çıkarırken işareti atmıştı. Her iki seri hale getirici de giriş olarak "-0.0" verildiğinde her zaman doğru şeyi yapmıştır, ancak "-0" girişiyle işaret kaybolmuştu. Bu davranış hem tutarsız hem de veri kaybına neden olur. Buna ek olarak, bu seri hale getiriciler serileştirme sırasında negatif sıfır değerini "-0" olarak yazar.

Önceki davranış

Daha önce, "-0" seri durumdan çıkarılırken (ancak "-0,0" değil ) float olarak veya kullanarak DataContractSerializerçift kullanıldığında negatif işareti kaybolmuştu.

Yeni davranış

"-0" bir float veya double olarak seri durumdan çıkarılırken negatif işareti korunur.

Sürüm kullanıma sunulmuştur

  • .NET 6.0.11 (hizmet sürümü)
  • .NET 7

Hataya neden olan değişikliğin türü

Bu değişiklik ikili uyumluluğu etkileyebilir.

Değişiklik nedeni

Önceki davranış tutarsızdı ve veri kaybına neden oldu.

Çoğu durumda herhangi bir eylem gerekmez. Kodunuz hatadan etkilendiyse, bu iyi bir değişikliktir. Ya da bu değişiklik nedeniyle bozulma olasılığı düşük olan bir şekilde hatanın geçici bir çözüm yolu üzerinde çalıştınız.

Etkilenen API’ler