JetBrains Rider 2026.1 Help

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

此检查会报告包含以下操作的 LINQ 查询:使用 as 转换元素,使用筛选器 null 过滤元素,然后期望有且仅有一个元素符合额外条件。 使用 OfType<T>().Single(...) ,同样的查询更易于阅读。

示例

var item = items.Select(x => x as Person).Single(y => y != null && y.IsActive);
var item = items.OfType<Person>().Single(y => y.IsActive);

快速修复

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

2026年 5月 8日