2 nullable ikilileri var, beklenen bir değer ve gerçek bir değer (onlara değer ve değer olarak değinelim). 100 * (value/valueExpected) kullanılarak bir yüzde bulunur. Ancak, ValueExpected değeri sıfır ise, NaN değerini döndürür. Şimdiye kadar her şey iyi.Nullable çift NaN karşılaştırması C#
Şimdi, değeri kontrol edip NaN olup olmadığını görmek için ne yapmalıyım? (Isnan sadece sigara null değişkenler ile çalışır)
if (!Double.IsNaN(myDouble))
Ama bu null değerler ile çalışmaz: Normalde bir kullanabiliriz. Kodumu kontrol etmek için değiştirdim (valueExpected == 0), ama yine de merak ediyorum - null bir NaN'yi kontrol etmenin herhangi bir yolu var mı?
Düzenleme: Kod çalışmaz dediğimde, derleme yapmaz. Null için ilk test çalışmıyor.
Belki de beni engelliyor sadece görsel stüdyo ise çift
ile bu NaN true ve yanlış dönecektir. Ben böyle bir şey var mı: ' if (myDouble = null!) { eğer { // şeyler yapın (Double.IsNaN (myDouble)!)! } } ' Ancak bu ve kodunuz derlenmiyor, yine de 'null' onayından sonra bile IsNaN kullanmaktan hoşlanmıyor. –
"d" değişken adından sonra ".Value" ifadesini gördünüz. d.Value bir çift ve kesinlikle derlemesi gerekir. –
Kodum düzgün çalışıyor. Eklediğiniz bir "null" işareti olup olmadığını kontrol etmez. Kodunuz hala yanlış. 'myDouble'' Null' iken 'IsNaN()' bir 'double' bekler. **, ** .Value özelliğini kullanmanız gerekir. –