忘记调用 MoveNext 方法:在使用 yield 返回值时,需要调用 MoveNext 方法来获取下一个值,如果忘记调用该方法则无法正常迭代。
重复使用 yield return:在同一个方法中多次使用 yield return 可能会导致意外的结果,应该确保每个 yield return 只返回一个值。
忽略 yield break:在使用 yield break 时,需要注意在适当的时候使用该语句来终止迭代,否则可能会导致无限循环。
不允许修改集合:在使用 yield 返回值时,不要尝试在迭代过程中修改集合,这可能会导致异常或不确定的行为。
忘记使用 IEnumerable 接口:确保在定义包含 yield 的方法时正确实现 IEnumerable 接口,以便正确迭代返回的值。
不理解延迟执行:使用 yield 可以实现延迟执行,即只有在需要时才会计算下一个值,应该充分了解这一特性并正确使用。
不考虑性能影响:虽然 yield 可以简化代码逻辑,但在某些情况下可能会影响性能,应该根据具体情况进行评估和优化。