【发布时间】:2012-10-01 16:47:51
【问题描述】:
有没有比这样的 for 循环更优雅的方式来一次执行 5 个项目?
var q = Campaign_stats.OrderByDescending(c=>c.Leads).Select(c=>c.PID).Take(23);
var count = q.Count();
for (int i = 0; i < (count/5)+1; i++)
{
q.Skip(i*5).Take(5).Dump();
}
【问题讨论】:
-
哇。抱歉,但从其余代码的外观来看,我真的不敢相信你不得不问这个问题。
-
umm.. 我在想有人可能知道如何让迭代器从它停止的地方恢复或其他什么,所以我可以说类似 while(items.HasMore) Take(5)... . 而且我可能编码太长了... :)
-
我想我错过了你想要完成的事情。我很抱歉 - 请参阅下面的答案。
-
我应该为不清楚而道歉 - 实际上我想一次操作 5 个项目 - 具体来说,这是一个多线程生产者消费者情况,生产者提供 5 个项目,然后等到消费者发出信号它已经完成了..我会在以后发布之前尝试多想一下,但我感谢您的时间/帮助
标签: c# linq for-loop iteration