代码检查:替换为 OfType<T>().SingleOrDefault()
此检查会报告使用 as 转换元素,然后返回唯一非 null 的转换结果或 null /default 的 LINQ 查询。 使用 OfType<T>().SingleOrDefault() 可以使逻辑更清晰。
示例
var item = items.Select(x => x as string).SingleOrDefault(y => y != null);
var item = items.OfType<string>().SingleOrDefault();
快速修复
将 Select(... as T).SingleOrDefault(y => y != null) 模式替换为 OfType<T>().SingleOrDefault()。
2026年 5月 8日