Sdílet prostřednictvím


Použití kolekčního výrazu pro plynulý styl (IDE0305)

Vlastnost Hodnota
ID pravidla IDE0305
Titul Použití výrazu kolekce pro plynulé rozhraní
Kategorie Styl
Podkategorie Jazyková pravidla (předvolby na úrovni výrazu)
Příslušné jazyky C# 12+
Volby dotnet_style_prefer_collection_expression

Přehled

Toto pravidlo označí místa, kde je kolekce vytvořena plynulým způsobem, tj. kde jsou metody jako Add(), AddRange(), AsSpan(), ToList(), a ToArray() jsou zřetězeny. Místo toho lze k inicializaci kolekce použít výraz kolekce . Například x.AddRange(y).Add(z).AsSpan() se převede na [x, ..y, z].

Možnosti

Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností naleznete v tématu Formát možnosti.

dotnet_style_prefer_collection_expression (nastavení preferencí pro styl kolekce v dotnetu)

Vlastnost Hodnota Popis
Název možnosti dotnet_style_prefer_collection_expression (nastavení preferencí pro styl kolekce v dotnetu)
Hodnoty možností true | when_types_exactly_match Raději používejte výrazy kolekce pouze v případě, že se typy přesně shodují, například List<int> list = new List<int>() { 1, 2 };.
when_types_loosely_match* Raději používejte výrazy kolekce, i když se typy volně shodují, například IEnumerable<int> list = new List<int>() { 1, 2 };. Cílový typ musí odpovídat typu na pravé straně nebo musí být jedním z následujících typů: IEnumerable<T>, ICollection<T>, IList<T>, IReadOnlyCollection<T>, IReadOnlyList<T>.
false | never Zakáže pravidlo.
Výchozí hodnota možnosti when_types_loosely_match*

*Při použití této možnosti může oprava kódu změnit sémantiku kódu.

Příklad

// Code with violation.
List<int> i = new[] { 1, 2, 3 }.ToList();
IEnumerable<int> j = new[] { 1, 2, 3 }.ToList();

// Fixed code.
List<int> i = [1, 2, 3];
IEnumerable<int> j = [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 IDE0305
// The code that's violating the rule is on this line.
#pragma warning restore IDE0305

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.IDE0305.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.

Viz také