Partager via


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 :

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.

Voir aussi

  • règles de langage de style de code
  • Informations de référence sur les règles de style de code