9

IEnumerator整数の無限シーケンスを返す関数がC#にあります[0, 1, 2, 3, 4, 5 ...]か?

私は現在やっています

Enumerable.Range (0, 1000000000).Select (x => x * x).TakeWhile (x => (x <= limit))

までのすべての正方形を列挙しlimitます。これは効果的だと思いますが、からカウントアップするだけの組み込み関数があれば、0それを使いたいと思います。

4

3 に答える 3

14

あなたはあなた自身を転がすことができます。

   IEnumerable<BigInteger> Infinite() {
      BigInteger value = 0;
      while (true) {
        yield return value++;
      }
   }

編集 なぜあなたはただ制限を渡してはいけないのRangeですか?これは1つずれている可能性があります...

Enumerable.Range(0, limit).Select(x => x * x);

私はこの編集について間違っていました。

于 2011-09-05T00:41:20.930 に答える
9

これは私に起こり、私がしていたことに適しています:

Enumerable.Range (0, int.MaxValue)
于 2011-09-05T00:45:49.997 に答える