Stackalloc için koleksiyon ifadesi kullanma (IDE0302)

Özellik Değer
Kural Kimliği IDE0302
Başlık Stackalloc için koleksiyon ifadesini kullanma
Kategori Stil
Alt kategori Dil kuralları (ifade düzeyi tercihleri)
Geçerli diller C# 12+
Seçenekler dotnet_style_prefer_collection_expression

Genel Bakış

Bu kural, Diziler yerine araması stackalloc dışında Dizi için koleksiyon ifadesini kullan (IDE0300) ile benzerdir. IDE0300 gibi, kodu koleksiyon ifadesi kullanacak şekilde dönüştürmeyi sunar. Örneğin ve stackalloc int[] { ... }stackalloc [] { ... } basitleştirilmiştir [...].

Dekont

Bu kural yalnızca değerlerin yığında korunabildiği .NET 8 ve sonraki sürümlerinde kullanılabilir.

Seçenekler

Seçenekler, kuralın zorlamasını istediğiniz davranışı belirtir. Seçenekleri yapılandırma hakkında bilgi için bkz . Seçenek biçimi.

dotnet_style_prefer_collection_expression

Özellik Değer Açıklama
Seçenek adı dotnet_style_prefer_collection_expression
Seçenek değerleri true | when_types_exactly_match Koleksiyon ifadelerini kullanmayı tercih edin.
false | never Kuralı devre dışı bırakır.
Varsayılan seçenek değeri true

Örnek

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

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

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

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

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

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

Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Stylenoneönem derecesini yapılandırma dosyasında olarak ayarlayın.

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

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Ayrıca bkz.