对于循环表达式语法错误

时间:2012-11-09 14:45:55

标签: c# syntax for-loop

以下for循环语法有什么问题crv变量是一个数组,我希望增量为2:

for(int i<0; i<crv.Count;i+2)
{
  //Code Here
}

我的编译器只说Semicolon expected这不是一个非常有用的反馈......

5 个答案:

答案 0 :(得分:4)

您需要开始将i初始化为零,而不是将其与零进行比较。另外,您的上一个语句实际上并未更改i,它只返回值i+2并且不对该值执行任何操作,您需要将i实际设置为该结果。

for(int i = 0; i < crv.Count;i+=2)
{
    //Code Here
}

答案 1 :(得分:2)

最大的错误是i+2未重新分配给i

for(int i = 0; i<crv.Count;i = i+2)
{
  //Code Here
}

您正在丢弃增量,而i永远不会更改值。

然后,您没有初始化i,而是检查它是否小于0

答案 2 :(得分:1)

请注意:首先部分是作业您不能将比较用作int i<0;,而应该是int i=0int i = -10或类似的所需内容

同样在增量部分,将更新后的值分配回i

    for(int i =0; i<crv.Count; i+=2)
    {
      //Code Here
    }

或在身体中做同样的事情(只提一下这个选项,这在某些特定情况下很有用)

    for(int i =0; i<crv.Count;)
    {
      //Code Here
      i+=2;
    }

答案 3 :(得分:1)

虽然这些答案中的大多数确实告诉您如何修复代码,但他们并没有告诉您为什么它不起作用,我认为这对您来说很重要。

for循环由三部分组成,以分号分隔。

for(part1;part2;part3)

part1仅执行 一次 - 首先执行循环开始。 (这通常是您为计数器分配初始值的地方)

然后执行

part2,检查其值是真还是假。

如果为true,则执行循环体

然后part3被执行,(正如你正在尝试做的那样)这通常是你增加的地方

然后再次检查part2,如果它是真的,它会再次通过该过程,如果它是假的它存在循环

答案 4 :(得分:0)

for循环的第一部分决定了i的初始值。在您的示例中,您有“&lt;”,这不是一个可靠的值。请尝试i = 0。另外,最后一部分读作i,除了2,而不是每次迭代添加两个。试试i + = 2。