私は現在、いくつかのプロジェクトオイラーの問題を行っていますが、初期の問題には、フィボナッチ数や素数などが含まれることがよくあります。それらを繰り返すことは、少なくともコードの読みやすさと知覚される「エレガンス」において、LINQに自然に適合しているようです(言語の感触を得るために、可能な場合は言語固有の機能を使用しようとしています)。
私の問題は、特定の制限までの数字のセットだけが必要な場合、これをどのように表現するのが最善かということです。現在、イテレータでそれぞれの制限をハードコーディングしていますが、特定の制限を超えているため、外部の何かがリストをクエリしないことを決定するまで、列挙子がリストを返すようにしたいと思います。つまり、基本的には無限のイテレータが存在する可能性がありますが、そこからは有限の数のセットしか取得しません。関数型言語ではそのようなことは些細なことですが、C#でもそれが可能かどうか疑問に思います。私が持っていた他の唯一のアイデアは、他のシーケンスの場合と同様に、特定の制限まで素数を返すイテレータPrimes(long)を用意することでした。
何か案は?