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.

Vedi anche