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が不格好すぎて、気に入った機能がほとんどないためです)。

誰かが問題を推測するのに十分な情報を提供したことを願っています。私はこのことを見つめ、変数を変更しました。すべて、それは動揺しません。

編集:

これはforループの後です:

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

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

4

3 に答える 3

11

次の反復に進む前に、常にループから戻っています。つまり、「if」ステートメントの両方の半分が返されます。ループの先頭に戻ることはありません。

于 2009-06-18T02:06:18.523 に答える
7

おそらくループ内にbreakor return(または天国は禁じられています)があります。goto

于 2009-06-18T02:04:37.573 に答える
5

ループ内のいずれかの" if"句が実行されるため、戻りが発生することが保証され、ループが2回目の反復を実行することはありません。したがって、増分は発生しません。

于 2009-06-18T02:07:07.523 に答える