Préférences de parenthèses (IDE0047 et IDE0048)
Cet article décrit deux règles associées, IDE0047
et IDE0048
.
Propriété | Value |
---|---|
Identificateur de la règle | IDE0047 |
Titre | Supprimer les parenthèses inutiles |
Catégorie | Style |
Sous-catégorie | Règles de langage (préférences de parenthèses) |
Langages applicables | C# et Visual Basic |
Version introduite | Visual Studio 2017 |
Options | 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 |
Propriété | Value |
---|---|
Identificateur de la règle | IDE0048 |
Titre | Ajouter des parenthèses à des fins de clarté |
Catégorie | Style |
Sous-catégorie | Règles de langage (préférences de parenthèses) |
Langages applicables | C# et Visual Basic |
Version introduite | Visual Studio 2017 |
Options | 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 |
Vue d’ensemble
Les règles de style de cette section concernent les préférences de parenthèses, notamment l’utilisation de parenthèses pour clarifier la précédence d’opérateurs arithmétiques, d’opérateurs relationnels et d’autres opérateurs binaires.
Options
Cette règle comporte des options associées pour spécifier des préférences en fonction du type d’opérateur :
- Opérateurs binaires arithmétiques – dotnet_style_parentheses_in_arithmetic_binary_operators
- Opérateurs binaires relationnels – dotnet_style_parentheses_in_relational_binary_operators
- Autres opérateurs binaires – dotnet_style_parentheses_in_other_binary_operators
- Autres opérateurs – dotnet_style_parentheses_in_other_operators
Pour plus d’informations sur la configuration des options, consultez Format d’option.
dotnet_style_parentheses_in_arithmetic_binary_operators
Propriété | Valeur | Description |
---|---|---|
Nom d'option | dotnet_style_parentheses_in_arithmetic_binary_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la précédence des opérateurs arithmétiques |
never_if_unnecessary |
Éviter les parenthèses lorsque la précédence des opérateurs arithmétiques est évidente | |
Valeur d’option par défaut | always_for_clarity |
Les opérateurs binaires arithmétiques sont les suivants : *
, /
, %
, +
, -
, <<
, >>
, &
, ^
et |
.
// 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
Propriété | Valeur | Description |
---|---|---|
Nom d'option | dotnet_style_parentheses_in_relational_binary_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la précédence des opérateurs relationnels |
never_if_unnecessary |
Éviter les parenthèses lorsque la précédence des opérateurs relationnels est évidente | |
Valeur d’option par défaut | always_for_clarity |
Les opérateurs binaires relationnels sont les suivants : >
, <
, <=
, >=
, is
, as
, ==
et !=
.
// 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
Propriété | Valeur | Description |
---|---|---|
Nom d'option | dotnet_style_parentheses_in_other_binary_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la précédence des autres opérateurs binaires |
never_if_unnecessary |
Éviter les parenthèses lorsque la précédence des autres opérateurs binaires est évidente | |
Valeur d’option par défaut | always_for_clarity |
Les autres opérateurs binaires sont les suivants : &&
, ||
et ??
.
// 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
Propriété | Valeur | Description |
---|---|---|
Nom d'option | dotnet_style_parentheses_in_other_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la précédence d’autres opérateurs |
never_if_unnecessary |
Éviter les parenthèses lorsque la précédence d’autres opérateurs est évidente | |
Valeur d’option par défaut | never_if_unnecessary |
Cette option s’applique aux opérateurs autres que les opérateurs suivants :
*
, /
, %
, +
, -
, <<
, >>
, &
, ^
, |
>
, <
, <=
, >=
, 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
Supprimer un avertissement
Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.
#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048
Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none
Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style
sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.