1. ホーム
  2. c#

[解決済み] C/C#/C++でバックワードループをするのに最適な方法は何ですか?

2022-11-29 18:40:24

質問

配列を逆行させたいので、以下のようなコードを持っています。

for (int i = myArray.Length - 1; i >= 0; i--)
{
    // Do something
    myArray[i] = 42;
}

もっと良い方法はないでしょうか?

更新:私は多分C#がこのようなことのためのいくつかの組み込みメカニズムを持っていることを期待していた。

foreachbackwards (int i in myArray)
{
    // so easy
}

更新2:そこで より良い方法があります。でRuneが受賞しました。

for (int i = myArray.Length; i-- > 0; )
{    
    //do something
}
//or
for (int i = myArray.Length; i --> 0; )
{
    // do something
}

は,通常のC言語ではさらに見栄えが良くなります(Twotymzに感謝します).

for (int i = lengthOfArray; i--; )
{    
    //do something
}

どのように解決するのですか?

確かに少し不明瞭ではありますが、私が言いたいのは、最もタイポグラフィ的に好ましい方法は

for (int i = myArray.Length; i --> 0; )
{
    //do something
}