如何在没有单独变量的情况下检测for循环中的某个增量

本文关键字:循环 for 情况下 没有单 变量 检测 | 更新日期: 2023-09-27 18:22:02

基本上,每次在for/loop中,你如何知道何时达到某个增量?

一种方法是使用第二个变量作为计数器,如下所示:

int i2 = 0;
for(int i=0;i<70;i++){
  if(i2==7){ i2=0; @Model.Value  }  
  i2++;
}

它每循环7次就写入一次@Model.Value

有没有一种方法可以避免使用第二个变量(i2)——一种简化的方法来做这样的事情?

如何在没有单独变量的情况下检测for循环中的某个增量

使用模块算术:

for (int i = 0; i < 70; i++)
{
    if (i % 7 == 0)
        // Do stuff
}

我认为您想要使用模数运算符,它在进行除法运算后返回余数。由于您希望每七次迭代发生一次,因此您将使用% 7。由于索引从零开始,所以在进行除法时,还需要将1添加到i,否则它将从第八次迭代开始(当i为7时)。

for (int i = 0; i < 70; i++)
{
    if((i + 1) % 7 == 0) @Model.Value;
}

遵循此格式

 for (;;) 
     statement;

在你的例子中,你可以通过写以下内容来完成任务:

for (int iii = 0; iii < 70; iii++){
   if (iii % 7 == 0) 
   (@Model.Value)
   }