如何每n个变量递增一次,根据某个条件进行迭代
本文关键字:迭代 一次 条件 变量 何每 | 更新日期: 2023-09-27 18:25:22
我有以下循环:
for (int i = 0; i < Main_dt.Rows.Count; i++)
{
}
现在我有一个条件:
if (dt.Rows.Count > 0)
{
}
我想做的是:
如果条件成立,则:
每two iterates
将变量j
增加1
,我的意思是:
0 0 1 1 2 2
如果条件为假,则:
每three iterates
将变量j
增加1
,我的意思是:
0 0 0 1 1 1 2 2 2
听起来你真的想要:
int scale = dt.Rows.Count > 0 ? 2 : 3;
for (int i = 0; i < Main_dt.Rows.Count; i++)
{
int j = i / scale;
...
}
很可能有更好的方法来实现这一点,但如果没有更多关于你试图实现什么的信息,很难知道。
长版本
if (dt.Rows.Count > 0)
{
if (i>0 && i%2 == 0)
j++;
}
else
{
if (i>0 && i%3 == 0)
j++;
}
一个衬垫(不推荐,因为它需要一些时间来摸索)
j += ( i>0 && i % (dt.Rows.Count > 0 ? 2 : 3) == 0) ? 1 : 0
int j = -1;
for (int i = 0; i < Main_dt.Rows.Count; i++)
{
j+= i% (dt.Rows.Count>0 ? 2 : 3) == 0 ? 1 : 0;
}