해독 됨 : 코드가 이벤트를 통해 10ms마다 실행되고 이벤트를 해결하는 데 걸리는 시간이 늘어납니다.C# 문이 사용되는 경우 거짓
나는 우연히 발생하지 않아야 할 이상한 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);
}
다른 스레드에서 '카운터'에 액세스합니까? –
죄송하지만, 그건 옳지 않습니다.if 문이 false이면 다중 스레드 문제가없는 한 문 안의 코드는 실행되지 않습니다. 우리가하는 일을 볼 수 있도록 더 많은 코드를 게시 할 수 있습니까? –
오류의 이미지는 여기에서 볼 수 있습니다 : http://s13.postimg.org/a0frmariv/indexoutofrange.jpg 나는 또한 매우 놀랐습니다 .. 응용 프로그램은 단일 스레드 응용 프로그램이고 카운터는 개인 변수입니다 . – Simon