代码检查:循环体的一部分可以转换为 LINQ 表达式
该检查会报告其循环体只能部分转换为 LINQ 风格序列操作的 foreach 循环。 当循环体中部分内容类似查询但整个循环无法被单个 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日