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ı,
.NET 8 (C# 12) ve sonraki sürümlerde, dotnet_style_prefer_collection_expression
seçeneğini true
olarak 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 derecesini
[*.{cs,vb}]
dotnet_diagnostic.IDE0028.severity = none
Tüm kod stili kurallarını devre dışı bırakmak için kategori
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.
Ayrıca bkz.
- koleksiyon ifadelerini
- Nesne başlatıcıları (IDE0017) kullanma
- Dizi (IDE0300) için koleksiyon ifadesini kullanma