Zárójelek beállításai (IDE0047 és IDE0048)

Ez a cikk két kapcsolódó szabályt, IDE0047 és IDE0048ismertet.

Ingatlan Érték
szabályazonosító IDE0047
Cím Szükségtelen zárójelek eltávolítása
kategória Stílus
Alkategória Nyelvi szabályok (zárójelek használatának irányelvei)
Alkalmazható nyelvek C# és Visual Basic
Bevezetett verzió Visual Studio 2017
Beállítások 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
Ingatlan Érték
szabályazonosító IDE0048
Cím Zárójelek hozzáadása az egyértelműség érdekében
kategória Stílus
Alkategória Nyelvi szabályok (zárójelek preferenciái)
Alkalmazható nyelvek C# és Visual Basic
Bevezetett verzió Visual Studio 2017
Beállítások 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

Áttekintés

Az ebben a szakaszban szereplő stílusszabályok a zárójelek használatára vonatkoznak, amely kiterjed a zárójelek alkalmazására az aritmetikai, relációs és egyéb bináris operátorokesetében.

Beállítások

Ez a szabály az operátor típusa alapján a beállítások megadására vonatkozó beállításokkal rendelkezik:

További információ a beállítások konfigurálásáról: Beállításformátum.

dotnet_style_parentheses_in_arithmetic_binary_operators

Ingatlan Érték Leírás
beállításnév dotnet_stílus_zárójelek_aritmetikai_bináris_operátorokban
A beállításértékek always_for_clarity Az aritmetikai operátorok precedenciájának tisztázása érdekében használjon zárójeleket.
never_if_unnecessary Ne használjon zárójelet, ha az aritmetikai operátorok elsőbbsége nyilvánvaló
alapértelmezett beállításérték always_for_clarity

A számtani bináris operátorok a következők: *, /, %, +, -, <<, >>, &, ^és |.

// 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_stílus_zárójel_használata_kapcsolati_bináris_operátorokban

Ingatlan Érték Leírás
beállításnév dotnet_stílus_zárójelek_kapcsolódási_bináris_operátorokban (dotnet_style_parentheses_in_relational_binary_operators)
Opcióértékek always_for_clarity A relációs operátorok precedenciájának tisztázása érdekében használjunk zárójeleket
never_if_unnecessary Inkább ne legyen zárójel, ha a relációs operátorok elsőbbsége nyilvánvaló
alapértelmezett beállításérték always_for_clarity

A relációs bináris operátorok a következők: >, <, <=, >=, is, as, ==és !=.

// 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_szülőjelek_más_bináris_operátorokhoz

Ingatlan Érték Leírás
beállításnév dotnet_stílus_zárójelek_egyéb_bináris_operátorokban
beállításértékek always_for_clarity A zárójelek használata a bináris operátorok precedenciájának tisztázása érdekében javasolt.
never_if_unnecessary Inkább ne legyen zárójel, ha más bináris operátorok elsőbbsége nyilvánvaló
alapértelmezett beállításérték always_for_clarity

A többi bináris operátor a következő: &&, ||és ??.

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

Ingatlan Érték Leírás
beállításnév dotnet_style_parentheses_in_other_operators
beállításértékek always_for_clarity Részesítsük előnyben a zárójelek használatát az operátorok precedenciájának tisztázása érdekében.
never_if_unnecessary Inkább ne legyen zárójel, ha más operátorok elsőbbsége nyilvánvaló
alapértelmezett beállításérték never_if_unnecessary

Ez a beállítás az alábbi kívüli operátorokra vonatkozik:

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

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

Az összes kódstílus-szabály letiltásához állítsa a Style kategória súlyosságát none-re a fájlkonfigurációjában.

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

További információ: Kódelemzési figyelmeztetések letiltása.

Lásd még: