Použijte výraz 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 je podobné Použít výraz kolekce pro pole (IDE0300), kromě že hledá stackalloc
místo polí. Stejně jako IDE0300, nabízí převod kódu k použití výrazů 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 |
Preferujte použití výrazů kolekcí. |
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
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.IDE0302.severity = none
Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style
na none
v konfiguračním 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.