ほげほげー

C#メインにプログラミング周りから日常のあれこれとかを不定期に書いていきます。

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

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

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

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

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

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

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

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