我有一个类似生成器的无限IEnumerable
源,我想从中获取n个不同的项目。有没有一种简单的LINQ风格的方法(仍然很快速)?
如果没有简单的方法,我提出的算法是否是个好主意?:
拿n件
呼叫区别
通话次数
如果计数
取n-计数项
Concat这些和goto 2
结束
最佳答案
只需在Distinct
之前调用Take
即可获取n个不同的元素:
var nDistincItems = source
.Distinct()
.Take(n);
关于c# - 轻松的LINQ方式从(无限)IEnumerable中获取n个不同的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52248059/