2017-08-16 17 views
1

同じ長さの配列が2つあります。array1 & array2です。私はarray1の値にarray2の値を追加したいと思います。単純なforループ以外のこれを行うためのより速く/より簡潔な方法がありますか?たぶんLINQを使用していますか?int配列の値を別のint配列の値に追加するC#

for (int i = 0; i < 5; i++) 
    array1[i] += array2[i]; 
+1

これはLINQでも可能ですが、判読性がさらに悪くなります。 –

+1

2行のコード...それほど悪くはありません... –

答えて

3

あなたはLINQを使用する場合は、Enumerable.Zip()使用することができます。

array1 = array1.Zip(array2, (a, b) => a + b).ToArray(); 

を、私はそれが高速です、そして「より簡潔な」も疑問であることを疑います。まず、forループのように、インプレースで更新するのではなく、新しい配列全体を割り当てる必要があります。

+1

ありがとうございます。これはforループとタイミングを合わせてからですが、forループは一貫して高速です。 – obl