Aracılığıyla paylaş


Koleksiyon başlatıcıları veya ifadeleri kullanma (IDE0028)

Mülk Değer
kural kimliği IDE0028
Başlık Koleksiyon başlatıcılarını kullanma
Kategori Üslup
alt kategori Dil kuralları (ifade düzeyi tercihleri)
Geçerli diller C# ve Visual Basic
Seçenekleri dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression

Genel bakış

Bu stil kuralı, koleksiyon başlatıcılarının kullanımıyla ilgilidir ve C# 12 veya üzerini kullanıyorsanız koleksiyon başlatma için koleksiyon ifadelerini .

.NET 8 (C# 12) ve sonraki sürümlerde, dotnet_style_prefer_collection_expression seçeneğini trueolarak ayarladıysanız Visual Studio'daki kod düzeltme koleksiyon başlatma kodunuzu koleksiyon ifadesi (List<int> list = [1, 2, 3];) kullanacak şekilde dönüştürür. Visual Basic'te ve .NET 7 (C# 11) ve önceki sürümlerinde kod düzeltmesi kodunuzu koleksiyon başlatıcısı (List<int> list = new List<int> { 1, 2, 3 };) kullanacak şekilde dönüştürür.

Not

Visual Studio'da kod düzeltme kullanırsanız, sunduğu değişiklik bazı durumlarda farklı semantiklere sahip olabilir. Örneğin, int[] x = new int[] { } biraz farklı semantiği olan int[] x = [];ile değiştirilir; derleyici yeni bir örnek oluşturmak yerine x için tek bir sözcük kullanır.

Seçenekler

Koleksiyonları başlatırken koleksiyon başlatıcılarının ve koleksiyon ifadelerinin tercih edilip edilmeyeceğini belirtmek için bu kuralla ilişkili seçeneklerin değerlerini ayarlayın.

Seçenekleri yapılandırma hakkında daha fazla bilgi için bkz. Seçenek biçimi.

dotnet_style_collection_initializer

Mülk Değer Açıklama
Seçenek adı dotnet_style_collection_initializer
Seçenek değerleri true Koleksiyon başlatıcılarını kullanmayı tercih edin.
false Koleksiyon başlatıcılarını tercih etmeyin.
varsayılan seçenek değeri true

dotnet_style_prefer_collection_expression (yalnızca C#

Mülk Değer Açıklama
Seçenek adı dotnet_style_prefer_collection_expression
Seçenek değerleri true Koleksiyon ifadelerini kullanmayı tercih edin.
false Koleksiyon ifadelerini tercih etmeyin.
varsayılan seçenek değeri true

Örnekler

// IDE0028 violation.
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);

// Fixed code (with dotnet_style_prefer_collection_expression = true)
List<int> list = [1, 2, 3];
' IDE0028 violation.
Dim list = New List(Of Integer)
list.Add(1)
list.Add(2)
list.Add(3)

' Fixed code.
Dim list = New List(Of Integer) From {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 IDE0028
// The code that's violating the rule is on this line.
#pragma warning restore IDE0028

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için önem derecesiniyapılandırma dosyasında olarak ayarlayın.

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

Tüm kod stili kurallarını devre dışı bırakmak için kategori önem derecesiniyapı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.