代码检查:替换为 OfType<T>().FirstOrDefault()
此检查会报告使用 as 转换元素的 LINQ 查询,然后返回第一个非 null 的转换结果或 null /默认值。 使用 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日