Avoid nested operators

Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

Metadata

ID: csharp-best-practices/no-nested-ternary

Language: C#

Severity: Notice

Category: Code Style

Description

Do not use nested ternary operators, as it makes the code harder to understand and maintain.

Non-Compliant Code Examples

class MyClass {
    public static void routine(bool a, bool b, bool c)
    {
        var foo = a ? b ? "b": "a" : "c";
    }
}
class MyClass {
    public static void routine(bool a, bool b, bool c)
    {
        var foo = a ? "a" : b ? "b" : "c";
    }
}

Compliant Code Examples

class MyClass {
    public static void routine(bool a, bool b, bool c)
    {
        if (a) {
            if (b) {
                return "ab";
            }
            if(c) {
                return "ac";
            }
        } else {
            if (b) {
                return "b";
            }
            if (c) {
                return "c";
            }
        }
    }
}
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

PREVIEWING: may/unit-testing