-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.
Önerilen eylem
Ç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.