皆さん!C#のListに新しい要素を追加すると、前に追加された要素が変更されています
私は、forの各繰り返しで異なる値を割り当てるweights_c1というdouble []配列を持っています。 また、各ループにベクトルweights_c1を格納するwc1というリストもあります。 だから、私は実行します。
wc1.Add(weights_c1);
問題は、この方法では、プログラムは前にリストに追加された要素の値を変更することです。
例:最初の繰り返しで 私は
wc1[0] = {1.0, 3.4, 2.2}
を有する第二の反復がwc1[1] = {2.0, 4.5, 1.0}
とオンになると、WC1の要素は、[0]も同じ値{2.0, 4.5, 1.0}
を想定し、これは後になるまで後に起こりますループの終わり。
このプログラムは、weights_c1の現在の値を「リンク」していて、以前にリストに追加された値を自動的に更新します。
どうすればこの問題を解決できますか?
あなたがコードを示したい場合、それは本当に助けを持っているだろうが、私はあなたのその99.9%確信しています同じ配列への参照を複数回追加するだけです。配列は参照型であることを覚えておいてください - 'List'は配列オブジェクトへの* references *を含みます。リストに同じ参照が複数含まれている場合は、同じ要素が表示されます。 –
コードを投稿できますか? – sachin
ありがとう、みんな! dasblinkenlightの提案がうまくいきました。 –