我有以下循环:
for (int i = 0; i < Main_dt.Rows.Count; i++)
{
}
现在我有一个条件:
if (dt.Rows.Count > 0)
{
}
我想做的是:
如果条件为真,那么:
每j
将变量1
增加two iterates
,我的意思是:
0 0 1 1 2 2
如果条件为假,那么:
每j
将变量1
增加three iterates
,我的意思是:
0 0 0 1 1 1 2 2 2
答案 0 :(得分:3)
听起来你真的想要:
int scale = dt.Rows.Count > 0 ? 2 : 3;
for (int i = 0; i < Main_dt.Rows.Count; i++)
{
int j = i / scale;
...
}
可能有更好的方法来解决这个问题,但如果没有关于你想要实现的目标的更多信息,很难知道。
答案 1 :(得分:1)
长版
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
答案 2 :(得分:1)
int j = -1;
for (int i = 0; i < Main_dt.Rows.Count; i++)
{
j+= i% (dt.Rows.Count>0 ? 2 : 3) == 0 ? 1 : 0;
}