Použití výrazu kolekce pro stackalloc (IDE0302)

Vlastnost Hodnota
ID pravidla IDE0302
Název Použití výrazu kolekce pro stackalloc
Kategorie Styl
Podkategorie Jazyková pravidla (předvolby na úrovni výrazu)
Příslušné jazyky C# 12+
Možnosti dotnet_style_prefer_collection_expression

Přehled

Toto pravidlo se podobá použití výrazu kolekce pro pole (IDE0300) s tím rozdílem, že místo polí hledá stackalloc . Stejně jako IDE0300 nabízí převod kódu na použití výrazu kolekce. Například stackalloc int[] { ... } a stackalloc [] { ... } jsou zjednodušeny na [...].

Poznámka:

Toto pravidlo je k dispozici pouze v .NET 8 a novějších verzích, kde je možné zachovat hodnoty v zásobníku.

Možnosti

Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností naleznete v tématu Formát možnosti.

dotnet_style_prefer_collection_expression

Vlastnost Hodnota Popis
Název možnosti dotnet_style_prefer_collection_expression
Hodnoty možností true | when_types_exactly_match Raději používejte výrazy kolekce.
false | never Zakáže pravidlo.
Výchozí hodnota možnosti true

Příklad

// Code with violations.
ReadOnlySpan<int> x = stackalloc int[] { 1, 2, 3 };

// Fixed code.
ReadOnlySpan<int> x = [1, 2, 3];

Potlačení upozornění

Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable IDE0302
// The code that's violating the rule is on this line.
#pragma warning restore IDE0302

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.

[*.{cs,vb}]
dotnet_diagnostic.IDE0302.severity = none

Pokud chcete zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style do none konfiguračního souboru.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Viz také