Sdílet prostřednictvím


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

Vlastnost Hodnota
Pravidlo ID IDE0305
název 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+
Možnosti dotnet_style_prefer_collection_expression

Přehled

Toto pravidlo označí místa, kde je kolekce vytvořená fluent způsobem, tj. kde jsou zřetězený metody, jako jsou Add(), AddRange(), AsSpan(), ToList()a ToArray(). 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

Nemovitost / Majetek Hodnota Popis
název možnosti dotnet_style_prefer_collection_expression
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[] { 1, 2, 3 }.ToList();.
when_types_loosely_match
(.NET 9 a novější verze)*
Raději používejte výrazy kolekce, i když se typy volně shodují, například IEnumerable<int> list = new[] { 1, 2, 3 }.ToList();. 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 true v .NET 8
when_types_loosely_match v .NET 9 a novějších verzích

*Oprava kódu při použití této možnosti může 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é