Einstellungen für Klammern (IDE0047 und IDE0048)

Eigenschaft Wert
Regel-ID IDE0047 und IDE0048
Titel IDE0047: Unnötige Klammern entfernen
IDE0048: Klammern aus Gründen der Übersichtlichkeit hinzufügen
Kategorie Stil
Unterkategorie Sprachregeln
Gültige Sprachen C# und Visual Basic
Eingeführt in Version Visual Studio 2017 Version 15.8

Überblick

Die Stilregeln in diesem Abschnitt betreffen Einstellungen für Klammern, einschließlich der Verwendung von Klammern für arithmetische, relationale und anderen binäre Operatoren.

dotnet_style_parentheses_in_arithmetic_binary_operators

Eigenschaft Wert
Name der Option dotnet_style_parentheses_in_arithmetic_binary_operators
Optionswerte always_for_clarity – bevorzugt Klammern verwenden, um den Vorrang von arithmetischen Operatoren (*, /, %, +, -, <<, >>, &, ^, |) zu verdeutlichen.

never_if_unnecessary – bevorzugt keine Klammern verwenden, wenn der Vorrang von arithmetischen Operatoren (*, /, %, +, -, <<, >>, &, ^, |) offensichtlich ist.
Standardoptionswert always_for_clarity

Beispiel

// dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
var v = a + (b * c);

// dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary
var v = a + b * c;
' dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
Dim v = a + (b * c)

' dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary
Dim v = a + b * c

dotnet_style_parentheses_in_relational_binary_operators

Eigenschaft Wert
Name der Option dotnet_style_parentheses_in_relational_binary_operators
Optionswerte always_for_clarity – bevorzugt Klammern verwenden, um den Vorrang von relationalen Operatoren (>, <, <=, >=, is, as, ==, !=) zu verdeutlichen.

never_if_unnecessary – bevorzugt keine Klammern verwenden, wenn der Vorrang von relationalen Operatoren (>, <, <=, >=, is, as, ==, !=) offensichtlich ist.
Standardoptionswert always_for_clarity

Beispiel

// dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
var v = (a < b) == (c > d);

// dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary
var v = a < b == c > d;
' dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
Dim v = (a < b) = (c > d)

' dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary
Dim v = a < b = c > d

dotnet_style_parentheses_in_other_binary_operators

Eigenschaft Wert
Name der Option dotnet_style_parentheses_in_other_binary_operators
Optionswerte always_for_clarity – bevorzugt Klammern verwenden, um den Vorrang von anderen binären Operatoren (&&, ||, ??) zu verdeutlichen.

never_if_unnecessary – bevorzugt keine Klammern verwenden, wenn der Vorrang von anderen binären Operatoren (&&, ||, ??) offensichtlich ist.
Standardoptionswert always_for_clarity

Beispiel

// dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
var v = a || (b && c);

// dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary
var v = a || b && c;
' dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
Dim v = a OrElse (b AndAlso c)

' dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary
Dim v = a OrElse b AndAlso c

dotnet_style_parentheses_in_other_operators

Eigenschaft Wert
Name der Option dotnet_style_parentheses_in_other_operators
Optionswerte always_for_clarity – bevorzugt Klammern verwenden, um den Vorrang von Operatoren zu verdeutlichen.

never_if_unnecessary – bevorzugt keine Klammern verwenden, wenn der Vorrang von Operatoren offensichtlich ist.
Standardoptionswert never_if_unnecessary

Beispiel

// dotnet_style_parentheses_in_other_operators = always_for_clarity
var v = (a.b).Length;

// dotnet_style_parentheses_in_other_operators = never_if_unnecessary
var v = a.b.Length;
' dotnet_style_parentheses_in_other_operators = always_for_clarity
Dim v = (a.b).Length

' dotnet_style_parentheses_in_other_operators = never_if_unnecessary
Dim v = a.b.Length

Weitere Informationen