已解決:代碼每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