foreach循环中分批执行方法的请教

williamwang8187 2009-08-13 10:58:27
我在一个 foreach循环中想以items的数量作为单位计算,当items循环到第10个,20个时调用方法,当有24个itmes时
要调用3次方法,即第10次,第20次,以及剩下的4次为一次
foreach(objitmes obj in itmes)
{
第10,20次,剩下的
调用方法
}
如果我想以obj为单位,每个obj里有6个盒,当循环到第50盒调用一次方法,按上面的例子,有144盒,即第50盒,
第100盒,剩下的44盒,三次调用
也就是根据数量,
请问该怎么实现,调用方法都在foreach 里
...全文
354 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
济南大飞哥 2009-08-13
  • 打赏
  • 举报
回复
没看明白想说什么
puzhichen 2009-08-13
  • 打赏
  • 举报
回复
学习!
阿非 2009-08-13
  • 打赏
  • 举报
回复
那你为什么要用 foreach 呢? 为什么不用for 呢?


int index=1;
List<int> l = new List<int>(new int[] { itmes.Count/3,itmes.Count/3*2,itmes.Count}.AsEnumerable());
// or List<int> l = new List<int>();l.Add(itmes.Count/3);l.Add(itmes.Count/3*2);l.Add(itmes.Count);

foreach(objitmes obj in itmes)
{
if(l.Contains(index))
{
// do sth
}
}
cppfaq 2009-08-13
  • 打赏
  • 举报
回复
既然牵扯到计数,那么干嘛不直接用
for()呢
hecker728 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bitcoffee 的回复:]
C# codeint i=0;foreach(objitmes objin itmes)
{
i++;if(i%10==0)
{
调用方法
}else
{if(i== items.count)
{
调用方法
}
}
}
[/Quote]

正解
BitCoffee 2009-08-13
  • 打赏
  • 举报
回复

int i = 0;
foreach(objitmes obj in itmes)
{
i++;
if(i % 10 == 0)
{
调用方法
}
else
{
if(i == items.count)
{
调用方法
}
}
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧