Do not compare with NaN

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。

Metadata

ID: csharp-best-practices/comparison-nan

Language: C#

Severity: Info

Category: Best Practices

Description

Using a comparison with float.NaN or double.NaN also returns false. If you want to check the validity of a number, use float.isNaN or double.isNaN.

Non-Compliant Code Examples

class MyClass {
    public void myMethod(float v, double d)
    {
        if (float.NaN == v) {

        }

        if(double.NaN == d) {
            
        }
    }
}
class MyClass {
    public void myMethod(float v, double d)
    {
        if (v == float.NaN) {

        }

        if(d == double.NaN) {
            
        }
    }
}

Compliant Code Examples

class MyClass {
    public void myMethod(float v, double d)
    {
        if (float.isNan(f)) {

        }

        if(double.isNan(f)) {
            
        }
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis