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