Как перечислить бесконечную последовательность целых чисел в C# 4.0?
есть ли функция в C#, которая возвращает IEnumerator
бесконечной последовательности целых чисел [0, 1, 2, 3, 4, 5 ...]
?
в настоящее время я делаю
Enumerable.Range (0, 1000000000).Select (x => x * x).TakeWhile (x => (x <= limit))
перечислить все квадраты до limit
. Я понимаю, что это эффективно, но если есть встроенная функция, которая просто подсчитывает от 0
, Я бы предпочел использовать его.
2 ответов
вы могли бы свернуть свой собственный.
IEnumerable<BigInteger> Infinite() {
BigInteger value = 0;
while (true) {
yield return value++;
}
}
редактировать
Почему бы вам просто не передать limit в Range
? Это может закончиться к часу...
Enumerable.Range(0, limit).Select(x => x * x);
Я ошибался насчет этого редактирования.