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 |
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 |
Eigenschap | Waarde |
---|---|
Regel-id | IDE0048 |
Titel | Haakjes toevoegen voor duidelijkheid |
Categorie | Stijl |
Subcategorie | Taalregels (voorkeuren voor haakjes) |
Toepasselijke talen | C# en Visual Basic |
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 |
Overzicht
De stijlregels in deze sectie hebben betrekking op voorkeuren voor haakjes, waaronder het gebruik van haakjes om de prioriteit voor rekenkundige, relationele en andere binaire operatoren te verduidelijken.
Opties
Aan deze regel zijn 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 operatoren - dotnet_style_parentheses_in_relational_binary_operators
- Andere binaire operatoren - dotnet_style_parentheses_in_other_binary_operators
- Andere operators - dotnet_style_parentheses_in_other_operators
Zie Optie-indeling voor meer informatie over het configureren van opties.
dotnet_style_parentheses_in_arithmetic_binary_operators
Eigenschap | Waarde | Beschrijving |
---|---|---|
Naam van optie | dotnet_style_parentheses_in_arithmetic_binary_operators | |
Optiewaarden | always_for_clarity |
Liever haakjes om de prioriteit van rekenkundige operatoren te verduidelijken |
never_if_unnecessary |
Geef de voorkeur aan geen haakjes als de prioriteit van rekenkundige operator duidelijk is | |
Waarde van standaardoptie | 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
Eigenschap | Waarde | Beschrijving |
---|---|---|
Naam van optie | dotnet_style_parentheses_in_relational_binary_operators | |
Optiewaarden | always_for_clarity |
Geef de voorkeur aan haakjes om de prioriteit van relationele operatoren te verduidelijken |
never_if_unnecessary |
Gebruik liever geen haakjes wanneer de prioriteit van de relationele operator duidelijk is | |
Waarde van standaardoptie | always_for_clarity |
De relationele binaire operatoren zijn: , , , , >=
, as
is
, ==
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
Eigenschap | Waarde | Beschrijving |
---|---|---|
Naam van optie | dotnet_style_parentheses_in_other_binary_operators | |
Optiewaarden | always_for_clarity |
Geef de voorkeur aan haakjes om de prioriteit van andere binaire operatoren te verduidelijken |
never_if_unnecessary |
Gebruik liever geen haakjes als de prioriteit van een andere binaire operator duidelijk is | |
Waarde van standaardoptie | 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 |
---|---|---|
Naam van optie | dotnet_style_parentheses_in_other_operators | |
Optiewaarden | always_for_clarity |
Geef de voorkeur aan haakjes om de prioriteit van andere operatoren te verduidelijken |
never_if_unnecessary |
Gebruik liever geen haakjes als de prioriteit van een andere operator duidelijk is | |
Waarde van standaardoptie | never_if_unnecessary |
Deze optie is van toepassing op andere operators dan de 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 preprocessor-instructies 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 in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none
Als u alle codestijlregels 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
Zie Waarschuwingen voor codeanalyse onderdrukken voor meer informatie.