Freigeben über


Einstellungen für Klammern (IDE0047 und IDE0048)

In diesem Artikel werden zwei verwandte Regeln, IDE0047 und IDE0048beschrieben.

Eigentum Wert
Regel-ID IDE0047
Titel Entfernen unnötiger Klammern
Kategorie Stil
Unterkategorie Sprachregeln (Einstellungen für Klammern)
Anwendbare Sprachen C# und Visual Basic
Eingeführte Version Visual Studio 2017
Optionen dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
Eigentum Wert
Regel-ID IDE0048
Titel Hinzufügen von Klammern zur Übersichtlichkeit
Kategorie Stil
Unterkategorie Sprachregeln (Einstellungen für Klammern)
Anwendbare Sprachen C# und Visual Basic
Eingeführte Version Visual Studio 2017
Optionen dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators

Überblick

Die Stilregeln in diesem Abschnitt betreffen Klammerneinstellungen, einschließlich der Verwendung von Klammern, um die Rangfolge für arithmetische, relationale und andere binäre Operatorenzu klären.

Optionen

Diese Regel verfügt über zugehörigen Optionen zum Angeben von Einstellungen basierend auf dem Operatortyp:

Informationen zum Konfigurieren von Optionen finden Sie unter Option format.

dotnet_style_parentheses_in_arithmetic_binary_operators

Eigentum Wert Beschreibung
Name der Option dotnet_style_parentheses_in_arithmetic_binary_operators
Optionswerte always_for_clarity Bevorzugen Sie Klammern, um arithmetische Operatorrangfolge zu verdeutlichen
never_if_unnecessary Bevorzugen Sie keine Klammern, wenn arithmetische Operatorrangfolge offensichtlich ist
Standardoptionenwert always_for_clarity

Die arithmetischen binären Operatoren sind: *, /, %, +, -, <<, >>, &, ^und |.

// 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

Eigentum Wert Beschreibung
Name der Option dotnet_style_parentheses_in_relational_binary_operators
Optionswerte always_for_clarity Bevorzugen Sie Klammern, um die Rangfolge relationaler Operatoren zu verdeutlichen
never_if_unnecessary Bevorzugen Sie es, keine Klammern zu haben, wenn relationale Operatorrangfolge offensichtlich ist.
Standardwert für Option always_for_clarity

Die relationalen binären Operatoren sind: >, <, <=, >=, is, as, ==und !=.

// 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

Eigentum Wert Beschreibung
Optionsbezeichnung dotnet_style_parentheses_in_other_binary_operators
Optionswerte always_for_clarity Bevorzugen Sie Klammern, um die Rangfolge anderer binärer Operatoren zu verdeutlichen.
never_if_unnecessary Bevorzugen Sie es, keine Klammern zu haben, wenn andere binäre Operatorrangfolge offensichtlich ist
Standard-Optionswert always_for_clarity

Die anderen binären Operatoren sind: &&, ||und ??.

// 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

Eigentum Wert Beschreibung
Name der Option dotnet_style_parentheses_in_other_operators
Optionswerte always_for_clarity Bevorzugen Sie Klammern, um die Rangfolge anderer Operatoren zu klären.
never_if_unnecessary Bevorzugen Sie es, keine Klammern zu haben, wenn andere Operatorrangfolge offensichtlich ist
Standardwert für Option never_if_unnecessary

Diese Option gilt für Operatoren, bei denen es sich nicht um die folgenden handelt:

*, /, %, +, -, <<, >>, &, ^, |>, <, <=, >=, is, as, ==, !=&&, ||, ??

// 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

Unterdrücken einer Warnung

Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.

#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none fest.

[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none

Um alle Codestilregeln zu deaktivieren, setzen Sie den Schweregrad der Kategorie Style auf none in der Konfigurationsdatei .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.

Siehe auch