功能:
用于
Enumerable.Single()
的
SomeEnumerable.Single(<LambdaExpression>)
的
SomeEnumerableType.Where(<LambdaExpression>).Single()
重构实例,以及以下 Enumerable 方法:
SingleOrDefault()
、
Last()
、
LastOrDefault()
、
Any()
、
Count()
、
First()
和
FirstOrDefault()
。
使用时机:方法调用
Single()
、
SingleOrDefault()
等的所有实例都不具有任何参数,并且前面有一个
Where()
表达式。
Where()
表达式的输入不能构造为表达式树。
原因:删除对
.Where()
方法的 Enumerable 的不必要的调用可提高可读性,在某些情况下还可提高性能,请参阅“备注”。
将光标置于 Visual Basic 的
SomeEnumerableType.Where(<LambdaExpression>).Single()
实例中。
按 (Ctrl+.) 触发“快速操作和重构”菜单。
选择“简化 LINQ 表达式”
在某些情况下,此重构可能会降低性能。 在这种情况下,对
List<T>
和
T[]
执行的 LINQ 操作不会优化,从而导致性能下降。