Megosztás a következőn keresztül:


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

Ez a cikk két kapcsolódó szabályt ismertet: IDE0047 és IDE0048.

Tulajdonság Érték
Szabályazonosító IDE0047
Cím Felesleges zárójelek eltávolítása
Kategória Stílus
Alkategória Nyelvi szabályok (zárójelek beállításai)
Alkalmazandó 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
Tulajdonság É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 beállításai)
Alkalmazandó 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 preferenciáit érintik, beleértve a zárójelek használatát az aritmetikai, relációs és más bináris operátorok elsőbbségének tisztázására.

Beállítások

Ez a szabály az operátor típusától függően a beállítások megadására vonatkozó beállításokkal rendelkezik:

A beállítások konfigurálásával kapcsolatos információkért lásd: Beállításformátum.

dotnet_style_parentheses_in_arithmetic_binary_operators

Tulajdonság Érték Leírás
Beállítás neve dotnet_style_parentheses_in_arithmetic_binary_operators
Beállításértékek always_for_clarity A zárójelek előnyben részesítése az aritmetikai operátorok prioritásának tisztázása érdekében
never_if_unnecessary Ne legyen zárójel, ha az aritmetikai operátorok elsőbbsége nyilvánvaló
Alapértelmezett beállításérték always_for_clarity

Az aritmetikai 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_style_parentheses_in_relational_binary_operators

Tulajdonság Érték Leírás
Beállítás neve dotnet_style_parentheses_in_relational_binary_operators
Beállításértékek always_for_clarity A zárójelek előnyben részesítése a relációs operátorok elsőbbségének tisztázása érdekében
never_if_unnecessary Ha a relációs operátorok elsőbbsége nyilvánvaló, ne legyen zárójel
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_parentheses_in_other_binary_operators

Tulajdonság Érték Leírás
Beállítás neve dotnet_style_parentheses_in_other_binary_operators
Beállításértékek always_for_clarity A zárójelek előnyben részesítése a többi bináris operátor elsőbbségének tisztázása érdekében
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

Tulajdonság Érték Leírás
Beállítás neve dotnet_style_parentheses_in_other_operators
Beállításértékek always_for_clarity A zárójelek előnyben részesítése a többi operátor elsőbbsége 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ábbitól eltérő 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ói 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 a 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 kategória Style súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések mellőzése.

Lásd még