代码检查:替换为 '.OfType<T>()'
此检查会识别在 LINQ Where() 调用中,使用 is 表达式按类型过滤元素,并紧接着调用 Cast<T>() 的情况。 这些组合操作可以用一次 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日