Sdílet prostřednictvím


Předvolby závorek (IDE0047 a IDE0048)

Tento článek popisuje dvě související pravidla, IDE0047 a IDE0048.

Majetek Hodnota
ID pravidla IDE0047
název Odstraňte nepotřebné závorky
kategorie Styl
podkategorie Jazyková pravidla (předvolby závorek)
příslušné jazyky C# a Visual Basic
Zavedená verze Visual Studio 2017
možnosti 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
Vlastnost Hodnota
ID pravidla IDE0048
název Přidání závorek pro přehlednost
kategorie Styl
podkategorie Jazyková pravidla (předvolby závorek)
příslušné jazyky C# a Visual Basic
Zavedená verze Visual Studio 2017
Možnosti 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

Přehled

Pravidla stylu v této části se týkají předvoleb závorek, včetně použití závorek k objasnění priority aritmetických, relačních a dalších operátorů binárních .

Možnosti

Toto pravidlo má přidružené možnosti pro určení předvoleb na základě typu operátoru:

Informace o konfiguraci možností naleznete v tématu Formát možnosti.

dotnet_style_parentheses_in_arithmetic_binary_operators

Vlastnost Hodnota Popis
název možnosti dotnet_style_parentheses_in_arithmetic_binary_operators
hodnoty možností always_for_clarity Preferovat závorky k objasnění priorit aritmetických operátorů
never_if_unnecessary Preferovat žádné závorky, pokud je zřejmé prioritu aritmetických operátorů
výchozí hodnota možnosti always_for_clarity

Aritmetické binární operátory jsou: *, /, %, +, -, <<, >>, &, ^a |.

// 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

Vlastnost Hodnota Popis
název možnosti dotnet_style_parentheses_in_relational_binary_operators
hodnoty možností always_for_clarity Preferovat závorky k objasnění priority relačních operátorů
never_if_unnecessary Preferujte nepoužívat závorky, pokud je zřejmá priorita relačního operátoru.
výchozí hodnota možnosti always_for_clarity

Relační binární operátory jsou: >, <, <=, >=, is, as, ==a !=.

// 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

Vlastnost Hodnota Popis
název možnosti Preferovaný styl závorek v jiných binárních operátorech v dotnet (dotnet_style_parentheses_in_other_binary_operators)
hodnoty možností always_for_clarity Upřednostněte závorky, abyste objasnili prioritu jiných binárních operátorů.
never_if_unnecessary Dávat přednost vynechání závorek, pokud je zřejmé, že jiný binární operátor má přednost.
výchozí hodnota možnosti always_for_clarity

Ostatní binární operátory jsou: &&, ||a ??.

// 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

Vlastnost Hodnota Popis
název možnosti dotnet_style_parentheses_in_other_operators
Možnosti hodnot always_for_clarity Preferovat závorky k objasnění priority jiných operátorů
never_if_unnecessary Raději nepoužívejte závorky, pokud je zřejmé, že má jiný operátor přednost.
výchozí hodnota možnosti never_if_unnecessary

Tato možnost platí pro operátory jiné než následující:

*, /, %, +, -, <<, >>, &, ^, |>, <, <=, >=, 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

Potlačení upozornění

Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048

Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .

[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none

Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style na none v konfiguračním souboru .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Viz také