JetBrains Rider 2026.2 Help

代码检查:替换为 OfType<T>().Any()(替换为 OfType<T>().Any(..))

此检查会报告一个 LINQ 查询,该查询使用 as 将元素转换、筛选器 null ,然后在 Any(...) 中应用附加谓词。 相同的逻辑使用 OfType<T>().Any(...) 更易于阅读。

示例

bool hasLongName = items.Select(x => x as Person).Any(y => y != null && y.Name.Length > 10);
bool hasLongName = items.OfType<Person>().Any(y => y.Name.Length > 10);

快速修复

Select(... as T).Any(y => y != null && ...) 模式替换为 OfType<T>().Any(...)

2026年 8月 5日