別のリストから項目を削除します
質問:
項目の一般的なリストをループして、別の項目のリストからそれらを削除するにはどうすればよいですか?
シーン:
次の仮定の例を考えてみましょう:
<code>List<汽车> list1 = GetTheList(); List<汽车> list2 = GetSomeOtherList();</code>
目標は、foreach ループを使用して list1 を反復処理し、list2 にも存在する項目をすべて削除することです。ただし、foreach ループはインデックスベースのメソッドを提供しません。
答え:
これを実現するには、Except メソッドを使用します。
<code>List<汽车> result = list2.Except(list1).ToList();</code>
これにより、list1 に存在しない list2 の項目を含む新しいリスト結果が作成されます。 Except メソッドは元のリストを変更しません。
最適化:
コードをさらに最適化するには、一時変数の必要性を排除できます。
<code>List<汽车> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Except は計算された差分を含む新しいリストを返すため、list1 や list2 は変更されないことに注意することが重要です。
以上があるリストから別のリストに存在する項目を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。