2009-06-18 9 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が到達不能であることを伝えています。私はこれが私のIDEが狂っているかどうか分かりません(私はSharpDevelopを使用しています。なぜなら、VS2008はあまりにも控えめで、好きなきれいな機能はほとんどないからです)。到達できないコードはどこですか?

誰かが問題を推測する。私はこの事を見つめて、変数を変更しました。すべて、それは揺れません。

EDIT:

これは

後のforループ:

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

私は確信して、私はそれをテストするためにやったことがなかったとして、このコードが正しいことを願っています。

+2

データローに対しては何がありますか? – BFree

+0

forループの後ろは何ですか? –

+0

私は知らない。 私は疲れていて、名前を挙げる気がしませんでした。 – Mashew

答えて

11

次回の繰り返しに進む前に、常にループから戻ってきます。つまり、 "if"ステートメントの両方の半分が返されます。あなたは決してループの先頭に戻ることはありません。

+0

AH! 愚かな私。 > _> – Mashew

7

おそらく、ループ内にbreakまたはreturn(または天国禁止、)があります。

+0

誰もがGotosに対して何を持っていますか? – IDWMaster

5

ループ内のどちらか一方または両方の "if"句が実行されるため、リターンが保証され、ループは決して2回目の繰り返しを実行しません。したがって、増分は決して起こらない。

関連する問題