Använda samlingsuttryck för stackalloc (IDE0302)
Property | Värde |
---|---|
Regel-ID | IDE0302 |
Title | Använda samlingsuttryck för stackalloc |
Kategori | Format |
Underkategori | Språkregler (inställningar på uttrycksnivå) |
Tillämpliga språk | C# 12+ |
Alternativ | dotnet_style_prefer_collection_expression |
Översikt
Den här regeln liknar Använd samlingsuttryck för matris (IDE0300) förutom att den söker efter i stället för stackalloc
matriser. Precis som IDE0300 erbjuder den att konvertera koden för att använda ett samlingsuttryck. Till exempel stackalloc int[] { ... }
och stackalloc [] { ... }
förenklas till [...]
.
Kommentar
Den här regeln är endast tillgänglig i .NET 8 och senare versioner där värdena kan bevaras i stacken.
Alternativ
Alternativ anger det beteende som du vill att regeln ska framtvinga. Information om hur du konfigurerar alternativ finns i Alternativformat.
dotnet_style_prefer_collection_expression
Property | Värde | beskrivning |
---|---|---|
Alternativnamn | dotnet_style_prefer_collection_expression | |
Alternativvärden | true | when_types_exactly_match |
Föredrar att använda samlingsuttryck. |
false | never |
Inaktiverar regeln. | |
Standardalternativvärde | true |
Exempel
// Code with violations.
ReadOnlySpan<int> x = stackalloc int[] { 1, 2, 3 };
// Fixed code.
ReadOnlySpan<int> x = [1, 2, 3];
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan regeln.
#pragma warning disable IDE0302
// The code that's violating the rule is on this line.
#pragma warning restore IDE0302
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.IDE0302.severity = none
Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style
till i konfigurationsfilen.none
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.