【C#】配列のコピーは=でやってはいけない
基本的な話です。
配列aを配列bにコピーして、その後配列bの要素を変更したいとします。
a[3]=[1,2,3] b[3]; a=b; b[3]= b[3]+2;
普通にコピーするだけならこれでいいだろ、と思うのですが、これでは参照ごとコピーされ、a[3]の値も変更されてしまいます。つまり、a=bとした場合、aが変更されたらbが、bが変更されたらaも変更されてしまいます。よって、どちらも変更したい場合でなければ、Array.Copyを使いましょう。
Array.Copy(コピー元、コピー先、長さ)
この動作を知っているとなにかの役に立つかもしれません。