Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Özellik | Değer |
---|---|
Kural Kimliği | CA2242 |
Başlık | NaN için doğru test edin |
Kategori | Kullanım |
Hataya neden olan veya bozulmayan düzeltme | Hataya neden olmayan |
.NET 9'da varsayılan olarak etkin | Öneri olarak |
İfade, veya System.Single.NaNile System.Double.NaN bir değeri test ediyor.
System.Double.NaN, sayı olmayan bir değeri temsil eder ve aritmetik işlem tanımsız olduğunda sonuçlanır. Bir değer arasındaki eşitliği test eden ve System.Double.NaN her zaman döndüren tüm ifadeler false
. Bir değer arasında eşitsizlik (!=
C# dilinde) olup olmadığını test eden tüm System.Double.NaN ifadeler her zaman döndürür true
.
Bu kuralın ihlalini düzeltmek ve bir değerin değerini temsil System.Double.NaNSystem.Single.IsNaN edip etmediğini doğru bir şekilde belirlemek için veya System.Double.IsNaN kullanarak değeri test edin.
Bu kuraldan uyarıyı bastırmayın.
Aşağıdaki örnek, bir değeri yanlış test eden iki ifadeyi ve değeri System.Double.NaN test etmek için doğru şekilde kullanan System.Double.IsNaN bir ifadeyi gösterir.
Imports System
Namespace ca2242
Class NaNTests
Shared zero As Double
Shared Sub Main2242()
Console.WriteLine(0 / zero = Double.NaN)
Console.WriteLine(0 / zero <> Double.NaN)
Console.WriteLine(Double.IsNaN(0 / zero))
End Sub
End Class
End Namespace
class NaNTests
{
static double zero = 0;
static void RunIt()
{
Console.WriteLine(0 / zero == double.NaN);
Console.WriteLine(0 / zero != double.NaN);
Console.WriteLine(double.IsNaN(0 / zero));
}
}
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolun