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:
- Aritmetikai bináris operátorok – dotnet_style_parentheses_in_arithmetic_binary_operators
- Relációs bináris operátorok – dotnet_style_parentheses_in_relational_binary_operators
- Egyéb bináris operátorok – dotnet_style_parentheses_in_other_binary_operators
- Egyéb operátorok – dotnet_style_parentheses_in_other_operators
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.