ReSharper 2026.1 Help

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

此检查会报告使用 as 转换元素、过滤掉 null ,然后期望最多只有一个满足额外条件的元素的 LINQ 查询。 相同的查询使用 OfType<T>().SingleOrDefault(...) 更易阅读。

示例

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

快速修复

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

2026年 5月 8日