已解决:代码每10毫秒通过事件执行,增加了事件之间花费的时间来解决问题。C#false if语句正在使用
我遇到了一个不应该发生的奇怪的IndexOutOfRangeException
。即使语句本身是'错误',也正在使用if语句中的代码。这是一个已知的问题吗?如果是这样,我该如何解决这个问题?
当计数器(int
)为0时发生错误,因此请求array
灯光中的element -1
。
代码:
if (counter > 0)
{
Console.WriteLine("counter-1 is groter dan 0");
int i = counter - 1;
Lights[i].setState(0);
}
从其他线程访问'counter'吗? –
我很抱歉,但那不可能是正确的。如果if语句为false,那么语句中的代码将不会被执行,除非您有多线程问题。你可以发布更多的代码,以便我们看到你在做什么? –
错误的图像可以在这里看到:http://s13.postimg.org/a0frmariv/indexoutofrange.jpg我也很惊讶地看到它..应用程序是一个单线程应用程序和计数器是一个私人变量。 – Simon