代码检查:替换为 '.OfType<T>()'
此检查会识别那些通过 Where() 调用,使用 is 表达式按类型筛选元素,随后又跟一个 Cast<T>() 调用的 LINQ。 这些组合操作可以用单个 OfType<T>() 调用来替换,使代码更加简洁易读。
public void Sample(object[] objects)
{
_ = objects.Where(a => a is List<string?>).Cast<List<string>>();
}
public void Sample(object[] objects)
{
_ = objects.OfType<List<string>>();
}
快速修复会将 Where().Cast<T>() 链替换为单个 OfType<T>() 调用。
2026年 3月 25日