クラス(構造体ではなく)を使用していると思いますか?(構造体 (値の型) を使用している場合は、状況が少し変わります。)
クラスを使用すると、これらSystem.Collections.Generic.List
すべてをすばやく実行できます。LinkedList で改善できる唯一の部分は、最初から削除することですが、単一のブロック メモリのコピーはそれほど苦痛ではなく、手間をかけずに配列を作成できます。
リンク リストを使用することはお勧めしません。特に、最初または最後からのみ削除する場合はそうです。(標準の LinkedList コレクションを使用して) 追加するたびに、メモリ割り当てが必要です (実際に追加したいものを参照するためにオブジェクトを構築する必要があります)。
リストには便利な関数もたくさんありますが、パフォーマンスが問題になる場合は注意が必要です。リストは基本的に配列であり、要素を追加すると大きくなります (リストをいっぱいにするたびに、リストは非常に大きくなり、過剰なメモリ操作が節約されます)。それらをクリアするのに労力は必要なく、割り当てられたメモリは別の日に使用するために残されます。
個人的な経験では、.NET は一般的なリンク リストには適していません。.NET 全体で動作するようにコードを記述する必要があります。リスト:
正しい選択はアプリケーションの仕様に大きく依存しますが、私に言わせれば、List は常に安全な賭けであり、機能させるために構造固有のコードを記述する必要はありません。
リストを使用したい場合は、次のメソッドとプロパティを調べてください。
ToArray() // 必要な配列を作成します
Clear() // 配列をクリアします
Add(item) // 最後にアイテムを追加します
RemoveAt(index) // 最初の項目のインデックス 0、最後の項目の .Count - 1
Count // リスト内のアイテムの数を取得します - 無料のルックアップではないため、不要なリクエストを避けるようにしてください
この投稿全体がやり過ぎの場合は申し訳ありません。