C# 如何根据某种条件,每n次迭代增加一个变量?

C# 如何根据某种条件,每n次迭代增加一个变量?,c#,loops,for-loop,C#,Loops,For Loop,我有以下循环: for (int i = 0; i < Main_dt.Rows.Count; i++) { } 我想做的是: 如果条件为真,则: 每隔两次迭代,将变量j增加1,我的意思是: 001 12 如果条件为假,则: 每隔三次迭代,将变量j增加1,我的意思是: 0 0 1 1 2 2听起来你真的很想: int scale = dt.Rows.Count > 0 ? 2 : 3; for (int i = 0; i < Main_dt.Rows.Count; i++

我有以下循环:

for (int i = 0; i < Main_dt.Rows.Count; i++)
{
}

我想做的是:

如果条件为真,则:

每隔两次迭代,将变量
j
增加
1
,我的意思是:

001 12

如果条件为假,则:

每隔三次迭代,将变量
j
增加
1
,我的意思是:


0 0 1 1 2 2

听起来你真的很想:

int scale = dt.Rows.Count > 0 ? 2 : 3;

for (int i = 0; i < Main_dt.Rows.Count; i++)
{
    int j = i / scale;
    ...
}
int scale=dt.Rows.Count>0?2 : 3;
对于(int i=0;i

也许有更好的方法来实现这一点,但是如果没有更多关于你想要实现什么的信息,就很难知道了。

听起来你真的想要:

int scale = dt.Rows.Count > 0 ? 2 : 3;

for (int i = 0; i < Main_dt.Rows.Count; i++)
{
    int j = i / scale;
    ...
}
int scale=dt.Rows.Count>0?2 : 3;
对于(int i=0;i
很可能有更好的方法来实现这一点,但如果没有更多关于您试图实现的目标的信息,就很难知道

if (dt.Rows.Count > 0)
{
  if (i>0 && i%2 == 0)
     j++;
}
else
{
  if (i>0 && i%3 == 0)
     j++;
}
一艘班轮(不建议使用,因为它需要一些时间来摸索)

长版本

if (dt.Rows.Count > 0)
{
  if (i>0 && i%2 == 0)
     j++;
}
else
{
  if (i>0 && i%3 == 0)
     j++;
}
一艘班轮(不建议使用,因为它需要一些时间来摸索)

intj=-1;
对于(int i=0;i0?2:3)==0?1:0;
}
intj=-1;
对于(int i=0;i0?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;
}