Usare criteri di ricerca (IDE0078 e IDE0260)
Questo articolo descrive due regole correlate e IDE0078
IDE0260
.
Proprietà | valore |
---|---|
ID regola | IDE0078 |
Titolo | Usa i criteri di ricerca |
Categoria | Style |
Sottocategoria | Regole della lingua (preferenze di criteri di ricerca) |
Linguaggi applicabili | C# 9.0+ |
Opzioni | csharp_style_prefer_pattern_matching |
Proprietà | valore |
---|---|
ID regola | IDE0260 |
Titolo | Usa i criteri di ricerca |
Categoria | Style |
Sottocategoria | Regole della lingua (preferenze di criteri di ricerca) |
Linguaggi applicabili | C# |
Opzioni | csharp_style_pattern_matching_over_as_with_null_check |
Panoramica
Questa regola di stile riguarda l'uso di costrutti di criteri di ricerca C#.
IDE0260 contrassegna in modo specifico l'uso di un'espressione as
seguita da un membro letto tramite l'operatore condizionale Null. Questa regola è simile a IDE0019, che contrassegna l'uso di un'espressione as
seguita da un null
controllo.
Opzioni
Le opzioni specificano il comportamento da applicare alla regola. Per informazioni sulla configurazione delle opzioni, vedere Formato delle opzioni.
csharp_style_prefer_pattern_matching (IDE0078)
Proprietà | Valore | Descrizione |
---|---|---|
Nome opzione | csharp_style_prefer_pattern_matching | |
Valori delle opzioni | true |
Preferire l'uso di costrutti di criteri di ricerca, quando possibile |
false |
Preferisce non usare costrutti di criteri di ricerca. | |
Valore dell'opzione predefinito | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Questa opzione configura anche IDE0019 regola.
Proprietà | Valore | Descrizione |
---|---|---|
Nome opzione | csharp_style_pattern_matching_over_as_with_null_check | |
Valori delle opzioni | true |
Preferisce la corrispondenza dei criteri rispetto as all'espressione con l'accesso ai membri condizionali Null. |
false |
Disabilita la regola. | |
Valore dell'opzione predefinito | true |
Esempi
IDE0078
// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;
// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);
IDE0260
// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}
// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}
Eliminare un avviso
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 IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none
su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none
Per disabilitare tutte le regole in stile 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.