Usare l'espressione di raccolta per stackalloc (IDE0302)
Proprietà | valore |
---|---|
ID regola | IDE0302 |
Title | Usare l'espressione di raccolta per stackalloc |
Categoria | Style |
Sottocategoria | Regole del linguaggio (preferenze a livello di espressione) |
Linguaggi applicabili | C# 12+ |
Opzioni | dotnet_style_prefer_collection_expression |
Panoramica
Questa regola è simile a Use collection expression for array (IDE0300) tranne che cerca stackalloc
anziché matrici. Come IDE0300, offre la conversione del codice per l'uso di un'espressione di raccolta. Ad esempio, stackalloc int[] { ... }
e stackalloc [] { ... }
sono semplificati in [...]
.
Nota
Questa regola è disponibile solo in .NET 8 e versioni successive in cui i valori possono essere mantenuti nello stack.
Opzioni
Le opzioni specificano il comportamento da applicare alla regola. Per informazioni sulla configurazione delle opzioni, vedere Formato delle opzioni.
dotnet_style_prefer_collection_expression
Proprietà | valore | Descrizione |
---|---|---|
Nome opzione | dotnet_style_prefer_collection_expression | |
Valori delle opzioni | true | when_types_exactly_match |
Preferisce usare espressioni di raccolta. |
false | never |
Disabilita la regola. | |
Valore dell'opzione predefinito | true |
Esempio
// Code with violations.
ReadOnlySpan<int> x = stackalloc int[] { 1, 2, 3 };
// Fixed code.
ReadOnlySpan<int> x = [1, 2, 3];
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 IDE0302
// The code that's violating the rule is on this line.
#pragma warning restore IDE0302
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.IDE0302.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.