忘記調用 MoveNext 方法:在使用 yield 返回值時,需要調用 MoveNext 方法來獲取下一個值,如果忘記調用該方法則無法正常迭代。
重復使用 yield return:在同一個方法中多次使用 yield return 可能會導致意外的結果,應該確保每個 yield return 只返回一個值。
忽略 yield break:在使用 yield break 時,需要注意在適當的時候使用該語句來終止迭代,否則可能會導致無限循環。
不允許修改集合:在使用 yield 返回值時,不要嘗試在迭代過程中修改集合,這可能會導致異常或不確定的行為。
忘記使用 IEnumerable 接口:確保在定義包含 yield 的方法時正確實現 IEnumerable 接口,以便正確迭代返回的值。
不理解延遲執行:使用 yield 可以實現延遲執行,即只有在需要時才會計算下一個值,應該充分了解這一特性并正確使用。
不考慮性能影響:雖然 yield 可以簡化代碼邏輯,但在某些情況下可能會影響性能,應該根據具體情況進行評估和優化。