Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden zwei verwandte Regeln, IDE0047
und IDE0048
beschrieben.
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:
- Arithmetische binäre Operatoren: dotnet_style_parentheses_in_arithmetic_binary_operators
- Relationale binäre Operatoren: dotnet_style_parentheses_in_relational_binary_operators
- Andere binäre Operatoren: dotnet_style_parentheses_in_other_binary_operators
- Andere Operatoren: dotnet_style_parentheses_in_other_operators
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.