動的配列内のオブジェクトを単純に置き換えるための、より優れたデータ構造またはメソッドを探しています。リストが選択されているようですが、読んで、RemoveAt と Insert のパフォーマンスが期待したほど良くないことに気付きました。
私が達成しようとしていることについて詳しく説明しましょう。
リスト1
- リスト項目 1
- リスト項目 2
- リスト項目 3
リスト2
- リスト項目 1
- リスト項目 2
- ヌル
どちらのリストも同じオブジェクト タイプを使用しています。List2 の null リスト項目を List1[1] に置き換えたい -- リスト項目 1 のクローン。複製を使用するため、コピーされたリスト項目の値は別のインスタンスになります。
また、List2 のリスト項目 2 を List2 のリスト項目 1 のクローンに置き換えたいと考えています。
私が達成しようとしているもののコード例を次に示します。
projCraneVertices.RemoveAt(projCraneVertices.Count - 4);
projCraneVertices.Insert((projCraneVertices.Count - 3), realCraneVertices[botPoint].clone());
projCraneVertices.RemoveAt(projCraneVertices.Count - 3);
projCraneVertices.Insert((projCraneVertices.Count - 2), projCraneVertices[botPoint].clone());
projCraneVertices.RemoveAt(projCraneVertices.Count - 2);
projCraneVertices.Insert((projCraneVertices.Count - 1), realCraneVertices[topPoint].clone());
projCraneVertices.RemoveAt(projCraneVertices.Count - 1);
projCraneVertices.Insert((projCraneVertices.Count), projCraneVertices[topPoint].clone());