Voorkeuren voor haakjes (IDE0047 en IDE0048)
In dit artikel worden twee gerelateerde regels beschreven, IDE0047
en IDE0048
.
Eigenschap | Waarde |
---|---|
regel-ID | IDE0047 |
titel | Overbodige haakjes verwijderen |
categorie | Stijl |
subcategorie | Taalregels (voorkeuren voor haakjes) |
Toepasselijke talen | C# en Visual Basic |
De geïntroduceerde versie | Visual Studio 2017 |
opties | 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 |
Eigendom | Waarde |
---|---|
Regel-ID | IDE0048 |
titel | Haakjes toevoegen voor duidelijkheid |
Categorie | Stijl |
Subcategorie | Taalregels (voorkeuren voor haakjes) |
Toepasselijke talen | C# en Visual Basic |
Introductie van versie | Visual Studio 2017 |
opties | 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 |
Overzicht
De stijlregels in deze sectie hebben betrekking op haakjes voorkeuren, inclusief het gebruik van haakjes om de prioriteit voor rekenkundige, relationele en andere binaire operatorente verduidelijken.
Opties
Deze regel heeft opties gekoppeld om voorkeuren op te geven op basis van het type operator:
- Rekenkundige binaire operatoren - dotnet_style_parentheses_in_arithmetic_binary_operators
- Relationele binaire operators - dotnet_style_parentheses_in_relational_binary_operators
- Andere binaire operators - dotnet_style_parentheses_in_other_binary_operators
- Andere operators - dotnet_style_parentheses_in_other_operators
Zie Option-indelingvoor meer informatie over het configureren van opties.
dotnet_style_parentheses_in_arithmetic_binary_operators
Eigenschap | Waarde | Beschrijving |
---|---|---|
Optienaam | dotnet_style_parentheses_in_arithmetic_binary_operators | |
optiewaarden | always_for_clarity |
Voorkeur aan haakjes om de prioriteit van rekenkundige operatoren te verduidelijken |
never_if_unnecessary |
Liever geen haakjes wanneer de prioriteit van rekenkundige operatoren duidelijk is | |
standaardoptiewaarde | always_for_clarity |
De rekenkundige binaire operatoren zijn: *
, /
, %
, +
, -
, <<
, >>
, &
, ^
en |
.
// 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
Eigendom | Waarde | Beschrijving |
---|---|---|
optienaam | dotnet_style_parentheses_in_relational_binary_operators | |
optiewaarden | always_for_clarity |
Voorkeur aan haakjes om de prioriteit van relationele operatoren te verduidelijken |
never_if_unnecessary |
Liever geen haakjes hebben wanneer de prioriteit van relationele operator duidelijk is | |
standaardoptiewaarde | always_for_clarity |
De relationele binaire operators zijn: >
, <
, <=
, >=
, is
, as
, ==
en !=
.
// 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
Eigendom | Waarde | Beschrijving |
---|---|---|
Optienaam | dotnet_style_parentheses_in_other_binary_operators | |
optiewaarden | always_for_clarity |
Voorkeur aan haakjes om de prioriteit van andere binaire operatoren te verduidelijken |
never_if_unnecessary |
Liever geen haakjes hebben wanneer andere binaire operatorprioriteit duidelijk is | |
standaardoptiewaarde | always_for_clarity |
De andere binaire operatoren zijn: &&
, ||
en ??
.
// 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
Eigenschap | Waarde | Beschrijving |
---|---|---|
optienaam | dotnet_style_parentheses_in_other_operators | |
optiewaarden | always_for_clarity |
Gebruik haakjes om de volgorde van operators te verduidelijken. |
never_if_unnecessary |
Gebruik liever geen haakjes wanneer andere operatorprioriteit duidelijk is | |
standaardoptiewaarde | never_if_unnecessary |
Deze optie is van toepassing op operators anders dan het volgende:
*
, /
, %
, +
, -
, <<
, >>
, &
, ^
, |
>
, <
, <=
, >=
, 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
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none
Als u alle regels voor de codestijl wilt uitschakelen, stelt u de ernst voor de categorie Style
in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Voor meer informatie, zie Hoe codeanalysewaarschuwingen te onderdrukken.