.NETアレイから要素を効率的に削除する
List<T>
のような動的配列とは異なり、標準.NETアレイには直接Remove
メソッドがありません。 この記事では、通常のアレイから要素を削除するための効果的な戦略について説明します。
要素削除のためにLINQをレバレッジ
簡潔なアプローチはLINQを利用して配列をフィルタリングして再構築します。これにより、アレイを
に変換し、条件に基づいて不要な要素を除去し(ここ、<code class="language-csharp">var foos = new Foo[] { foo1, foo2, foo3, foo4 }; foos = foos.Where(f => f.Id != idToRemove).ToArray();</code>
List<T>
機能f.Id != idToRemove
より多くのコントロールのために、動作を模倣するカスタムエクステンション方法を実装できます:RemoveAt
このメソッドは、指定されたインデックスの前後の新しい配列の前後にエッジケースを効率的に処理し、特定のインデックスで要素を効果的に削除します。 使用法:
RemoveAt
これにより、通常のアレイの欠落
<code class="language-csharp">public static T[] RemoveAt<T>(this T[] source, int index) { if (index < 0 || index >= source.Length) throw new ArgumentOutOfRangeException(nameof(index)); T[] dest = new T[source.Length - 1]; Array.Copy(source, 0, dest, 0, index); Array.Copy(source, index + 1, dest, index, source.Length - index - 1); return dest; }</code>
配列を作成することを忘れないでください。元の配列は変更されていません。 ニーズとコーディングスタイルに最適な方法を選択してください。
以上が.NET で通常の配列から要素を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。