Préférences entre parenthèses (IDE0047 et IDE0048)
Cet article décrit deux règles connexes, IDE0047
et IDE0048
.
Propriété | Valeur |
---|---|
Identificateur de la règle | IDE0047 |
Titre | Supprimer les parenthèses inutiles |
Catégorie | Style |
sous-catégorie | Règles de langue (préférences entre parenthèses) |
langues applicables | C# et Visual Basic |
introduit la version | 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é | Valeur |
---|---|
Identificateur de la règle | IDE0048 |
Titre | Ajouter des parenthèses pour plus de clarté |
Catégorie | Style |
sous-catégorie | Règles de langue (préférences entre parenthèses) |
langues applicables | C# et Visual Basic |
introduit la version | 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 |
Aperçu
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 priorité pour les opérateurs arithmétiques, relationnels et autres opérateurs de binaires.
Options
Cette règle a 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 de l’option | dotnet_style_parentheses_in_arithmetic_binary_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la priorité des opérateurs arithmétiques |
never_if_unnecessary |
Préférer aucune parenthèse lorsque la priorité de l’opérateur arithmétique 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 de l’option | dotnet_style_parentheses_in_relational_binary_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la priorité des opérateurs relationnels |
never_if_unnecessary |
Préférer ne pas avoir de parenthèses lorsque la priorité de l’opérateur relationnel 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 de l’option | dotnet_style_parentheses_in_other_binary_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la priorité d’un autre opérateur binaire |
never_if_unnecessary |
Préférer ne pas avoir de parenthèses lorsque d’autres précédences d’opérateur binaire sont évidentes | |
valeur d’option par défaut | always_for_clarity |
Les autres opérateurs binaires sont : &&
, ||
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 de l’option | dotnet_style_parentheses_in_other_operators | |
Valeurs d’option | always_for_clarity |
Préférer les parenthèses pour clarifier la priorité d’un autre opérateur |
never_if_unnecessary |
Préférez ne pas utiliser de parenthèses lorsque d'autres priorités d'opérateurs sont évidentes. | |
valeur d’option par défaut | never_if_unnecessary |
Cette option s’applique aux opérateurs autres que les 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 souhaitez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez 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 d’un fichier, d’un dossier ou d’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 d’analyse du code.