Zjednodušení výrazu LINQ
Toto refaktoring se vztahuje na:
- C#
Co: Refaktoruje SomeEnumerableType.Where(<LambdaExpression>).Single()
instance pro SomeEnumerable.Single(<LambdaExpression>)
Enumerable.Single()
a také následující výčtové metody: SingleOrDefault()
, Last()
, LastOrDefault()
, Any()
, Count()
First()
a FirstOrDefault()
.
When: Všechny instance, kde metoda volá Single()
, SingleOrDefault()
a tak dále, nemá žádné argumenty a předchází Where()
výrazu. Vstup výrazu Where()
nelze vytvořit jako strom výrazu.
Proč: Odebrání nepotřebného volání výčtu pro metodu .Where()
zlepšuje čitelnost a v některých případech výkon, viz poznámky.
Postupy
Umístěte kurzor do
SomeEnumerableType.Where(<LambdaExpression>).Single()
instance v sadě Visual Studio.Stisknutím klávesy Ctrl+. aktivujte nabídku Rychlé akce a refaktoringy.
Výběr možnosti Zjednodušit výraz LINQ
Poznámky
V některých případech může toto refaktoring snížit výkon. Operace List<T>
T[]
LINQ v tomto případě nejsou optimalizované a vedou k horšímu výkonu.