给定一个有限的元素列表,我如何创建一个(延迟求值,感谢 LINQ!)不断迭代我的初始列表的无限列表?
如果初始列表是 {1, 2, 3}
,我希望新列表返回 {1, 2, 3, 1, 2, 3, 1, .. .
最佳答案
yield return
是一个相当方便的运算符,尽管它实际上并不特别需要 LINQ。
IEnumerable<int> GetInfiniteSeries(IEnumerable<int> items) {
while (true) {
foreach (var item in items) {
yield return item;
}
}
}
关于c# - 来自给定有限列表的linq无限列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3575682/