Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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/3/clojure/3.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# Don';我不明白为什么这个循环不';迭代_C# - Fatal编程技术网

C# Don';我不明白为什么这个循环不';迭代

C# Don';我不明白为什么这个循环不';迭代,c#,C#,我不知道我做错了什么。我是C#新手,正在尝试从在线教程转换VB.Net代码。我无法使此For循环进行迭代: if (Screens.Count > 0) { for (int i = Screens.Count - 1; i == 0; --i) { if (Screens[i].GrabFocus==true) { Screens[i].Focused = true;

我不知道我做错了什么。我是C#新手,正在尝试从在线教程转换VB.Net代码。我无法使此For循环进行迭代:

if (Screens.Count > 0)
{
    for (int i = Screens.Count - 1; i == 0; --i)                
    {
        if (Screens[i].GrabFocus==true)
        {
            Screens[i].Focused = true;
            DebugScreen.FocusScreen = "Focused Screen: " + Screens[i].Name;
            break;
        }
    }
}

列表中有两个屏幕。第二个屏幕(屏幕[1])的GrabFocus设置为true。在调试期间,执行从第3行(for…)跳到最后一个右括号。嵌套的“If”语句从不执行。另外,我认为break语句是错误的,因为我实际上是在试图结束“For”循环

您没有正确编写
for
循环。应将其替换为以下内容:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
从值
Screens.Count-1
开始,在每个步骤中将
i
减少1,直到
i
等于零。然后你停下来

一般来说,正确的语法如下:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
  • 初始化器部分设置初始条件。在进入循环之前,本节中的语句只运行一次。该部分只能包含以下两个选项之一
  • condition部分包含一个布尔表达式,对其求值以确定循环是应该退出还是应该再次运行
  • 迭代器部分定义循环体每次迭代后发生的事情。迭代器部分包含以下零个或多个语句表达式,用逗号分隔
  • 循环体由一条语句、一条空语句或一块语句组成,这些语句是通过在大括号中包含零条或多条语句创建的
有关这方面的更多信息,请查看

你的情况有什么问题


第二颗子弹。条件
i==0
从一开始就是false。因此,将根本不执行循环。

您没有正确编写
for
循环。应将其替换为以下内容:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
从值
Screens.Count-1
开始,在每个步骤中将
i
减少1,直到
i
等于零。然后你停下来

一般来说,正确的语法如下:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
  • 初始化器部分设置初始条件。在进入循环之前,本节中的语句只运行一次。该部分只能包含以下两个选项之一
  • condition部分包含一个布尔表达式,对其求值以确定循环是应该退出还是应该再次运行
  • 迭代器部分定义循环体每次迭代后发生的事情。迭代器部分包含以下零个或多个语句表达式,用逗号分隔
  • 循环体由一条语句、一条空语句或一块语句组成,这些语句是通过在大括号中包含零条或多条语句创建的
有关这方面的更多信息,请查看

你的情况有什么问题


第二颗子弹。条件
i==0
从一开始就是false。因此,将根本不执行循环。

您没有正确编写
for
循环。应将其替换为以下内容:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
从值
Screens.Count-1
开始,在每个步骤中将
i
减少1,直到
i
等于零。然后你停下来

一般来说,正确的语法如下:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
  • 初始化器部分设置初始条件。在进入循环之前,本节中的语句只运行一次。该部分只能包含以下两个选项之一
  • condition部分包含一个布尔表达式,对其求值以确定循环是应该退出还是应该再次运行
  • 迭代器部分定义循环体每次迭代后发生的事情。迭代器部分包含以下零个或多个语句表达式,用逗号分隔
  • 循环体由一条语句、一条空语句或一块语句组成,这些语句是通过在大括号中包含零条或多条语句创建的
有关这方面的更多信息,请查看

你的情况有什么问题


第二颗子弹。条件
i==0
从一开始就是false。因此,将根本不执行循环。

您没有正确编写
for
循环。应将其替换为以下内容:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
从值
Screens.Count-1
开始,在每个步骤中将
i
减少1,直到
i
等于零。然后你停下来

一般来说,正确的语法如下:

for (int i = Screens.Count - 1; i >=0; --i)   
for (initializer; condition; iterator)
    body
  • 初始化器部分设置初始条件。在进入循环之前,本节中的语句只运行一次。该部分只能包含以下两个选项之一
  • condition部分包含一个布尔表达式,对其求值以确定循环是应该退出还是应该再次运行
  • 迭代器部分定义循环体每次迭代后发生的事情。迭代器部分包含以下零个或多个语句表达式,用逗号分隔
  • 循环体由一条语句、一条空语句或一块语句组成,这些语句是通过在大括号中包含零条或多条语句创建的
有关这方面的更多信息,请查看

你的情况有什么问题


第二颗子弹。条件
i==0
从一开始就是false。因此,根本不会执行循环。

i==0
应该是
i>=0

i、 e


i==0
应该是
i>=0

i、 e


i==0
应该是
i>=0

i、 e


i==0
应该是
i>=0

i、 e

<代码