Eventi
17 mar, 23 - 21 mar, 23
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Questo articolo descrive due regole correlate, IDE0047
e IDE0048
.
Proprietà | Valore |
---|---|
Regola ID | IDE0047 |
Titolo | Rimuovere parentesi non necessarie |
Categoria | Stile |
sottocategoria | Regole della lingua (preferenze parentesi) |
lingue applicabili | C# e Visual Basic |
versione introdotta | Visual Studio 2017 |
Opzioni | 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 |
Proprietà | Valore |
---|---|
ID regola | IDE0048 |
Titolo | Aggiungere parentesi per maggiore chiarezza |
Categoria | Stile |
sottocategoria | Regole della lingua (preferenze parentesi) |
lingue applicabili | C# e Visual Basic |
Introdotta versione | Visual Studio 2017 |
Opzioni | 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 |
Le regole di stile in questa sezione riguardano le preferenze di parentesi, incluso l'uso delle parentesi per chiarire la precedenza per gli operatori aritmetici, relazionali e altri operatori di binari.
Questa regola include opzioni associate per specificare le preferenze in base al tipo di operatore:
Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.
Proprietà | Valore | Descrizione |
---|---|---|
nome opzione | dotnet_style_parentheses_in_arithmetic_binary_operators | |
Valori di opzione | always_for_clarity |
Preferire parentesi per chiarire la precedenza dell'operatore aritmetico |
never_if_unnecessary |
Non preferisce parentesi quando la precedenza dell'operatore aritmetico è ovvia | |
valore di opzione predefinito | always_for_clarity |
Gli operatori binari aritmetici sono: *
, /
, %
, +
, -
, <<
, >>
, &
, ^
e |
.
// 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
Proprietà | Valore | Descrizione |
---|---|---|
nome opzione | dotnet_style_parentheses_in_relational_binary_operators | |
valori di opzione | always_for_clarity |
Preferire parentesi per chiarire la precedenza dell'operatore relazionale |
never_if_unnecessary |
Preferisce non avere parentesi quando la precedenza dell'operatore relazionale è ovvia | |
valore di opzione predefinito | always_for_clarity |
Gli operatori binari relazionali sono: >
, <
, <=
, >=
, is
, as
, ==
e !=
.
// 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
Proprietà | Valore | Descrizione |
---|---|---|
nome opzione | dotnet_style_parentheses_in_other_binary_operators | |
valori di opzione | always_for_clarity |
Preferire le parentesi per chiarire la precedenza di altri operatori binari |
never_if_unnecessary |
Preferisce non avere parentesi quando l'altra precedenza dell'operatore binario è ovvia | |
valore di opzione predefinito | always_for_clarity |
Gli altri operatori binari sono: &&
, ||
e ??
.
// 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
Proprietà | Valore | Descrizione |
---|---|---|
nome opzione | dotnet_style_parentheses_in_other_operators | |
valori di opzione | always_for_clarity |
Preferire le parentesi per chiarire la precedenza di altri operatori |
never_if_unnecessary |
Preferisce non avere parentesi quando l'altra precedenza dell'operatore è ovvia | |
valore di opzione predefinito | never_if_unnecessary |
Questa opzione si applica agli operatori diversi da i seguenti:
*
, /
, %
, +
, -
, <<
, >>
, &
, ^
, |
>
, <
, <=
, >=
, 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
Se si desidera eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none
nel file di configurazione .
[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none
Per disabilitare tutte le regole di tipo codice, impostare la gravità per la categoria Style
su none
nel file di configurazione .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
17 mar, 23 - 21 mar, 23
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subito