代码检查:迭代器从不返回
此检查会报告没有可达补全路径的迭代器方法或本地函数。 实际上,迭代器永远不会到达结尾并且永远不会停止产出,因为每条执行路径都无限循环或无法完成。
示例
IEnumerable<int> GetValues()
{
while (true)
{
yield return 1;
}
}
IEnumerable<int> GetValues(int count)
{
for (var i = 0; i < count; i++)
{
yield return 1;
}
}
快速修复
此检查没有专用的快速修复方案。 一种常见的修正方式是添加可达的退出条件,使迭代器能够结束。
2026年 5月 8日