代码检查:循环体的部分内容可以转换为 LINQ 表达式
此检查会报告一个 foreach 循环,其主体只能部分转换为 LINQ 风格的序列操作。 当循环体的一部分类似查询,但整个循环无法用单一 LINQ 表达式替换时,会产生此警告,适用于 foreach 循环。
示例
foreach (var item in source)
{
if (item.IsVisible)
yield return item;
Log(item);
}
foreach (var item in source.Where(item => item.IsVisible))
{
yield return item;
Log(item);
}
快速修复
将循环体中可转换的部分转换为查询操作,同时显式保留剩余的循环逻辑。
2026年 5月 8日