2011-02-06 6 views
0

ジェネリックコレクションの要素を1つコピーしてリストに追加する必要があります。これと似たようなもの:ジェネリックコレクションの要素をコピーする方法

このソリューションの問題は、新しい要素を変更すると、previousIndex要素も変更されることです。私はこれが値型ではなく参照型であると考えています。お互いに影響を与えずに、ある要素から別の要素へ情報をコピー(複製)するにはどうすればよいですか?

答えて

2

追加するときにnewオブジェクトを作成する必要があります。

これはいくつかの方法で行うことができます。タイプのオブジェクト(CalculationResult)を受け取り、完全に新しいオブジェクトを返すヘルパーメソッドです。

おそらくこれを行うコンストラクタのオーバーロードがあります。

このようなことを実現するには、ICloneableを実装し、Cloneメソッドで新しいオブジェクトを返す方法があります。例えば

あなたは、コンストラクタのオーバーロードを作成した場合、これはあなたがそれを使用することができる方法である:

cantileverResults.Add(new CalculationResult(cantileverResults[previousIndex])); 
関連する問題