同じ長さの配列が2つあります。array1 & array2です。私はarray1の値にarray2の値を追加したいと思います。単純なforループ以外のこれを行うためのより速く/より簡潔な方法がありますか?たぶんLINQを使用していますか?int配列の値を別のint配列の値に追加するC#
for (int i = 0; i < 5; i++)
array1[i] += array2[i];
同じ長さの配列が2つあります。array1 & array2です。私はarray1の値にarray2の値を追加したいと思います。単純なforループ以外のこれを行うためのより速く/より簡潔な方法がありますか?たぶんLINQを使用していますか?int配列の値を別のint配列の値に追加するC#
for (int i = 0; i < 5; i++)
array1[i] += array2[i];
あなたはLINQを使用する場合は、Enumerable.Zip()使用することができます。
array1 = array1.Zip(array2, (a, b) => a + b).ToArray();
を、私はそれが高速です、そして「より簡潔な」も疑問であることを疑います。まず、for
ループのように、インプレースで更新するのではなく、新しい配列全体を割り当てる必要があります。
ありがとうございます。これはforループとタイミングを合わせてからですが、forループは一貫して高速です。 – obl
これはLINQでも可能ですが、判読性がさらに悪くなります。 –
2行のコード...それほど悪くはありません... –