Semplificare l'espressione LINQ
Questo refactoring si applica a:
- C#
Cosa: esegue il refactoring delle istanze di SomeEnumerableType.Where(<LambdaExpression>).Single()
a SomeEnumerable.Single(<LambdaExpression>)
per Enumerable.Single()
e i metodi Enumerable seguenti: SingleOrDefault()
, Last()
, LastOrDefault()
, Count()
Any()
, First()
, e FirstOrDefault()
.
Quando: tutte le istanze in cui il metodo chiama Single()
, SingleOrDefault()
e così via, non hanno argomenti e sono precedute da un'espressione Where()
. L'input dell'espressione Where()
non può essere costruito come albero delle espressioni.
Perché: la rimozione della chiamata non necessaria all'Enumerable per il .Where()
metodo migliora la leggibilità e in alcuni casi le prestazioni, vedere le osservazioni.
Procedure
Posizionare il cursore all'interno dell'istanza
SomeEnumerableType.Where(<LambdaExpression>).Single()
in Visual Studio.Premere CTRL+ per attivare il menu Azioni rapide e refactoring.
Selezionare Semplificare l'espressione LINQ
Osservazioni:
In alcuni casi questo refactoring può ridurre le prestazioni. Le operazioni LINQ su List<T>
e T[]
non sono ottimizzate in questo caso e comportano prestazioni peggiori.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per