Usare l'espressione di raccolta per stackalloc (IDE0302)
Proprietà | Valore |
---|---|
ID regola | IDE0302 |
titolo | Usare un'espressione di raccolta con "stackalloc" |
Categoria | Stile |
sottocategoria | Regole del linguaggio (preferenze a livello di espressione) |
lingue 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é le matrici. Come IDE0300, offre la conversione del codice per l'uso di un'espressione di raccolta . Ad esempio, stackalloc int[] { ... }
e stackalloc [] { ... }
sono semplificati per [...]
.
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 che desideri che la regola imponga. Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.
dotnet_style_prefer_collection_expression
Proprietà | Valore | Descrizione |
---|---|---|
nome opzione | dotnet_style_prefer_collection_expression | |
valori di opzione | true | when_types_exactly_match |
Preferire l'uso di espressioni di collezione. |
false | never |
Disabilita la regola. | |
valore di 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à su none
nel file di configurazione .
[*.{cs,vb}]
dotnet_diagnostic.IDE0302.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.