いくつかのクラスに対して新しいオブジェクトを作成したい場合、すでにクラスがある場合は、clone()を使用するか、newキーワードを使用してインスタンス化する必要がありますか?新しいキーワードを使用して、パフォーマンス(clone()またはインスタンス化)が改善されましたか?
はい、clone()にもすべてのメンバーがコピーされますが、これは問題ではない場合があります。私は実際にUIのために使用される前の回で巨大な取得し、「n」の階層を通過しているジェネリックリスト(一覧<
T >
)、で働いていると私は私の現在の仕事の一つにこれを必要と
ClassType foo = new ClassType();
ClassType bar = new ClassType(); // here, will foo.clone() be better choice?
(それらの間で、Arrayに変換され、シリアル化目的でリストに戻されます)。だから、私はパフォーマンスを良くすることを考えていただけです。
IListをクローンしていますか??またはいくつかのプレーンなC#型? –
私はジェネリックリストをクローンしていません、私は自分のオブジェクトをリストに追加しています。それが私の質問の中心です。 –
あなたは浅いか深いクローンが欲しいですか? (http://msdn.microsoft.com/en-us/library/system.icloneable.clone.aspx) –