ほげほげー

C#メインで困ったことや面白く感じたことをメモしていきます。

IteratorパターンとIEnumerable<T>とIEnumerator<T>とyield returnと

毎回毎回はてな記法を忘れてます。こんばんは。

今回は yield return のコンパイル時に生成されるコードの何がいいのかを簡単に解説・・・

と思ったのですが、よく考えたら以前書いた記事で説明されてるんですよね。

要するにあんなに複雑なコードを書かなくても簡単に遅延評価ライクなIEnumerable<T>/IEnumerator<T>のコードが書けちゃうことが素晴らしーのです。*1

今回は異常に短いですがこれだけです。

久々に更新して yield return 絡みをいい加減終わらせたかっただけなので(╹◡╹)

*1:関数言語だったりするとデフォで遅延評価だったりしますけどね。というかそちらの方が正確な意味でのLazy。