Condividi tramite


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.

Vedere anche