2009-06-18 4 views
2
int x; 
int iHateDataRows = dt.Rows.Count + 2; 
System.Data.DataRow[] dra = new System.Data.DataRow[1000]; 

for(x = 0; x < iHateDataRows; ++x) 

그래서 이것은 분명히 루프입니다. 그러나 제 문제는 ++x이 도달 할 수 없다고 말합니다. 이것이 VS IDE가 미숙하고 무언가 (SharpDevelop를 사용하는 이유는 VS2008가 너무 복잡하고 내가 좋아하는 깔끔한 작은 기능이 없기 때문입니다.)연결할 수없는 코드는 어디에 있습니까?

문제를 짐작할 누군가. 나는이 것을 쳐다 보면서 변수를 바꾸었다. 모든 것은 움직이지 않을 것입니다.

편집 :

이것은

후 for 루프 :

if(dra[x].ItemArray[2].ToString() == "0") 
{ 
    return x.ToString(); 
} 
else 
{ 
    return "Fail"; 
} 

나는 확실히 그것을 테스트 할 수 없었어으로이 코드가 정확한지 바랍니다.

+2

당신은 datarows에 대해 무엇을 가지고 있습니까? – BFree

+0

for 루프 뒤에는 무엇이 있습니까? –

+0

나는 몰라. 나는 지쳤으며 이름이 떠오르는 기분이 들지 않았습니다. – Mashew

답변

11

다음 반복으로 넘어 가기 전에 항상 루프에서 돌아오고 있습니다. 즉, "if"문의 양쪽 절반이 반환됩니다. 루프의 맨 위로 돌아 가지 않습니다.

+0

AH! 어리석은 나를. > _> – Mashew

7

루프 내부에 break 또는 return (또는 천국 금지, goto)이있을 수 있습니다.

+0

모두가 Gotos와 어떤 관계가 있습니까? – IDWMaster

5

루프의 "if"절이 실행되기 때문에 반환이 발생하고 루프가 두 번째 반복을 실행하지 않습니다. 따라서 증분은 절대로 발생하지 않습니다.