Нет, такого нету
Нет, родного нету. Но если не требуется этот LINQ транслировать в sql, а только гонять в памяти, то элементарно реализуется. public static IEnumerable<T> RepeatForever<T>(this IEnumerable<T> source) { var iterator = source.GetEnumerator(); while(true) { while(iterator.MoveNext()) yield return iterator.Current(); iterator.Reset(); } }
А если сделать так как в этом в коде, будет вродибы утечка памяти
Ну, да, энумераторы по хорошему бы диспоузить. Но слабо представляю как это сделать, если его нужно сделать вечным. Ну, разве что сохранить в массив первый прогон, диспоузить, и последующие уже делать из массива. Но это может менять поведение
Обсуждают сегодня