2013-06-25 5 views
-7

루프 내 foreach 루프를 처리하는 데 문제가 있습니다. 이유는 모르겠지만 디버깅 할 때 제 알갱이 수는 0입니다. 103이라고 가정합니다. 프로그램을 실행하면 결과가 표시되지 않습니다. 내 암호로 놓친 것이 있습니까?foreach 루프 카운터가 작동하지 않습니다.

코드 :

List<Pellets> pellets = new List<Pellets>(); 
bool gotPellet = false; 
foreach (var pellet in pellets) 
{ 
    if (pellet.Visibility == Visibility.Visible) 
    { 
     var rectPellet = pellet.GetRect(cnvMain); 
     var pelletCellPoint = pellet.GetCellPoint(); 

     rectPacman.Intersect(rectPellet); 
     gotPellet = true; 

     pellet.Visibility = Visibility.Collapsed; 

     AddPellet(pellet); 
     mazeValues[(int)pelletCellPoint.X, (int)pelletCellPoint.Y] = ' '; 
     break; 
    } 
} 

난 당신이 코드의 상단에 새 목록을 만들 이후

+0

디버거가 없습니까? – paxdiablo

+0

그냥 잠시 눈을 깜박이면'foreach'에서'break'가 튀어 나옵니다 –

+3

.first 줄에있는 모든 알갱이를 제거하십시오 – Sayse

답변

7

pellets 목록이 103 개 요소를 가질 수 없습니다 윈도우 8 메트로 앱 C#을 사용하고 있습니다 , 아무것도 추가하지 않습니다.

+2

고문의 영어에도 불구하고 이것은 사실입니다. – paxdiablo

+3

나는 pre-edit'newing-up'을 선호했다. –

+0

"pellets"길이는 어떻게 103인가? 루프 전에리스트를 초기화하고 있습니다. 어떻게 그 메이트입니까? – bazz

0
List<Pellets> pellets = new List<Pellets>(); 

귀하의 목록은 비어 있으므로 foreach 루프는 아무 것도하지 않습니다.

0
List<Pellets> pellets = new List<Pellets>(); 

이 시점에서 비어있는 새 목록을 만들었습니다. 구성원을 추가하지 않으므로 열거하려고하면이 목록은 여전히 ​​비어 있습니다.

관련 문제