【发布时间】:2015-08-22 01:17:15
【问题描述】:
有没有办法使用一个循环来获取一个大列表中的前 100 个项目,对它们做一些事情,然后是下一个 100 等等,但是当它接近尾声时,它会自动缩短项目的“100”步骤剩下的。
目前我必须使用两个 if 循环:
for (int i = 0; i < listLength; i = i + 100)
{
if (i + 100 < listLength)
{
//Does its thing with a bigList.GetRange(i, 100)
}
else
{
//Does the same thing with bigList.GetRange(i, listLength - i)
}
}
有没有更好的方法来做到这一点?如果不是,我至少会让“事物”成为一个函数,这样代码就不必复制两次了。
【问题讨论】:
-
Split List into Sublists with LINQ 的可能重复项 - 这种分块行为正是我们所要求的,仅使用 LINQ,而不仅仅是使用普通循环和变量。所以,也许不是完全重复,但仍然值得考虑和阅读。