Udostępnij za pośrednictwem


Używanie wyrażenia kolekcji dla obiektu stackalloc (IDE0302)

Właściwości Wartość
Identyfikator reguły IDE0302
Tytuł Używanie wyrażenia kolekcji dla obiektu stackalloc
Kategoria Styl
Podkategorii Reguły języka (preferencje na poziomie wyrażenia)
Odpowiednie języki C# 12+
Opcje dotnet_style_prefer_collection_expression

Omówienie

Ta reguła jest podobna do użyj wyrażenia kolekcji dla tablicy (IDE0300), z wyjątkiem tego, że szuka stackalloc zamiast tablic. Podobnie jak IDE0300, oferuje konwersję kodu w celu użycia wyrażenia kolekcji. Na przykład stackalloc int[] { ... } i stackalloc [] { ... } są uproszczone do [...].

Uwaga

Ta reguła jest dostępna tylko na platformie .NET 8 i nowszych wersjach, w których wartości można zachować na stosie.

Opcje

Opcje określają zachowanie, które ma być wymuszane przez regułę. Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.

dotnet_style_prefer_collection_expression

Właściwości Wartość Opis
Nazwa opcji dotnet_style_prefer_collection_expression
Wartości opcji true | when_types_exactly_match Wolisz używać wyrażeń kolekcji.
false | never Wyłącza regułę.
Wartość opcji domyślnej true

Przykład

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

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

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby wyłączyć wszystkie reguły stylu kodu, ustaw ważność dla kategorii Style na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.

Zobacz też