Použití inicializátorů kolekcí nebo výrazů (IDE0028)
Vlastnost | Hodnota |
---|---|
ID pravidla |
IDE0028 |
název | Použití inicializátorů kolekcí |
kategorie | Styl |
podkategorie | Jazyková pravidla (předvolby na úrovni výrazu) |
příslušné jazyky | C# a Visual Basic |
možností |
dotnet_style_collection_initializer |
dotnet_style_prefer_collection_expression |
Přehled
Toto pravidlo stylu se týká použití inicializátorů kolekce a pokud používáte C# 12 nebo novější, výrazy kolekce pro inicializaci kolekce.
Pokud máte v .NET 8 (C# 12) a novějších verzích možnost List<int> list = new List<int> { 1, 2, 3 };
).
Poznámka
Pokud použijete opravu kódu v sadě Visual Studio, může tato změna v některých případech obsahovat různé sémantiky. Například int[] x = new int[] { }
se nahradí int[] x = [];
, která má mírně odlišnou sémantiku – kompilátor místo vytváření nové instance používá pro x
jedinýton.
Volby
Nastavte hodnoty přidružených možností pro toto pravidlo a určete, zda jsou při inicializaci kolekcí preferovány inicializátory kolekcí a výrazy kolekce.
Další informace o konfiguraci možností naleznete v tématu Formát možnosti.
dotnet_style_collection_initializer
Vlastnost | Hodnota | Popis |
---|---|---|
název možnosti | dotnet_style_collection_initializer | |
hodnoty možností | true |
Raději používejte inicializátory kolekcí. |
false |
Nepoužívejte inicializátory kolekcí. | |
výchozí hodnota možnosti | true |
dotnet_style_prefer_collection_expression (jenom C#)
Vlastnost | Hodnota | Popis |
---|---|---|
název možnosti | dotnet_style_prefer_collection_expression | |
hodnoty možností | true |
Raději používejte výrazy kolekce. |
false |
Nepoužívejte výrazy kolekce. | |
výchozí hodnota možnosti | true |
Příklady
// 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}
Potlačení upozornění
Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable IDE0028
// The code that's violating the rule is on this line.
#pragma warning restore IDE0028
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.IDE0028.severity = none
Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style
na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.