代码中的代码无法访问错误警告

时间:2014-10-19 15:39:34

标签: xna

if(Screens.Count > 0)
{
    for (int i = Screens.Count -1; i < 0; i +=1)
    {
        if (Screens[i].GrabFocus)
            Screens[i].GrabFocus = true;
        break;
    }
}

无法访问的代码

尝试转换 VB代码到C#

For I = FoundScreens - 1 to 0 step -1
    if (Screens[i].GrabFocus)
        Screens[i].GrabFocus = true;
    break;

我在C#中的错误在哪里?

1 个答案:

答案 0 :(得分:0)

乍一看VB代码从列表中的最后一个屏幕开始到第一个

VB.NET

For I = FoundScreens - 1 to 0 step -1

在C#中执行相同的操作

for (int i = Screens.Count -1; i > 0; i--)

您的原始代码无法访问,因为for中的循环条件是您实现的:

for (int i = Screens.Count -1; i < 0; i +=1)

I&LT; 0,当i被分配了屏幕数时,它可以是0到n,所以我永远不会小于0。

我很惊讶你会在for中得到这样的警告,因为这个代码的简单测试

    for (int i = 0; i < 0; i +=1)
    {
        Console.WriteLine(i.ToString());
    } 
    Console.ReadKey();

在简单的控制台应用程序中不会显示任何警告。