Wat*_* v2 4 c# linq ienumerable extension-methods enumerable
我不能使MSDN文档的任何意义此重载Where方法的接受具有两个参数,其中INT,据说,表示源元素的索引,知道是什么意思(我认为可枚举是谓词顺序,你看不到下一个项目,更不用说它的任何索引).
有人可以解释如何使用这个重载,特别是Func中的int是什么以及如何使用它?
该int
参数表示当前迭代中当前项的索引.每次调用其中一个LINQ扩展方法时,理论上你都不能保证以相同的顺序返回项目,但是你知道它们都会被返回一次,因此可以分配索引.(嗯,如果你知道查询对象是一个List<T>
或那样的,你就可以保证,但不是一般的.)
例:
var result1 = myEnumerable.Where((item, index) => index < 4);
var result2 = myEnumerable.Take(4);
// result1 and result2 are equivalent.
Run Code Online (Sandbox Code Playgroud)