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