-2

これはtimer1tick イベントのコードです:

file_indxs = file_indxs - 1;
if (file_indxs < 0)
{
    file_indxs = file_array.Length - 1;
}

file_array.Length - 1は、配列の最後のファイルから始まる配列の終わりです。

しかし、私はやりたい:

file_indxs = file_indxs + 1;
if (file_indxs == 0)
{
    file_indxs = the beginning of the array. not the Length - 1
}
4

2 に答える 2

3

私はあなたが実際に欲しいと思う:

fileIndex++;
if (fileIndex == fileArray.Length)
{
    fileIndex = 0;
}

(同時に、変数名をより慣習的なものに変更しました。)

状態の変化に注意してください。インクリメント fileIndexしている場合は、開始ではなく、いつ終了したかを知りたいと考えています。

于 2013-11-08T23:17:36.880 に答える
2

おそらくあなたはこれが欲しい

file_indxs = file_indxs + 1;
if (file_indxs >= file_array.Length)
{
    file_indxs = 0;
}

つまり、インデックスが配列の最後の要素に到達すると、ゼロから再起動します.... (安全のために >= を使用)

于 2013-11-08T23:16:50.537 に答える