ReSharper 2026.1 Help

代码检查:迭代器永不返回

此检查会报告没有可达完成路径的迭代器方法或局部函数。 实际上,迭代器永远不会到达末尾,也不会停止产生值,因为每条执行路径都无限循环或无法完成。

示例

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日