Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# For循环表达式语法错误_C#_Syntax_For Loop - Fatal编程技术网

C# For循环表达式语法错误

C# For循环表达式语法错误,c#,syntax,for-loop,C#,Syntax,For Loop,以下for循环语法有什么问题crv变量是一个数组,我希望增量为2: for(int i<0; i<crv.Count;i+2) { //Code Here } 对于(int i您需要首先将i初始化为零,而不是将其与零进行比较。此外,您的上一条语句实际上没有更改i,它只返回一个i+2的值,并且不处理该值,您需要实际将i设置为该结果 for(int i = 0; i < crv.Count;i+=2) { //Code Here } for(int i=0;i

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

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

对于(int i您需要首先将
i
初始化为零,而不是将其与零进行比较。此外,您的上一条语句实际上没有更改
i
,它只返回一个
i+2
的值,并且不处理该值,您需要实际将
i
设置为该结果

for(int i = 0; i < crv.Count;i+=2)
{
    //Code Here
}
for(int i=0;i
最大的错误是
i+2
没有重新分配给
i

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

for(int i=0;i请注意:第一部分是赋值
int i您不能使用比较,因为for循环的第一部分决定i的初始值。在您的示例中“虽然这些答案中的大多数确实告诉了您如何修复代码,但它们并没有告诉您为什么它不起作用,我认为这对您理解很重要

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

for(第1部分;第2部分;第3部分)

part1
仅在循环第一次开始执行时执行一次(这通常是为计数器指定初始值的地方)

然后执行第2部分,检查其值是否为真

如果为true,则执行循环体

然后执行
part3
(当您尝试执行时),这通常是您递增的地方


然后再次检查
part2
,如果为真,则再次执行该过程,如果为假,则存在循环

最后一部分需要是实际表达式。
i+=2
i=i+2
,第一部分是赋值。编译器和调试器是您需要学习如何使用的工具。编译器将yntax问题,调试器会让您看到您编写的逻辑。@Oded问题是,我的编译器只说了
分号,这不是很有用…它为您指明了正确的方向。它告诉您要查找的位置。您/他的第一个语句也错了。而且,递增
i
for
循环中增加两个。将其移动到正文中只会损害可读性,并且不会增加任何内容。您现在更新
for
循环和正文中的
i
,这将使每次迭代增加4个。@Servy:是的,我正确地编写了描述,但在副本中出错。更新了答案。
操作时出现问题没有将递增的bac值分配给i
。我只是提到了该选项。
    for(int i =0; i<crv.Count; i+=2)
    {
      //Code Here
    }
    for(int i =0; i<crv.Count;)
    {
      //Code Here
      i+=2;
    }