Linqを使用して、プロパティで交差するアイテムをリストから削除します

ojhawkins

同じプロパティを共有する異なるオブジェクト(foobar)の2つのリストがあり、それを呼び出すことができますid

public List<foo> foo { get; set; }
public List<bar> bar { get; set; }

foo存在しないIDを持つすべてのオブジェクトを削除したいbar

linqでこれをどのように行うことができますか?私が見てされているIntersectRemoveAllJoinしかしリストは異なるタイプである任意の例を見つけることができません。

カミル・ブジエフスキー

これを試して:

foo.RemoveAll(x=> !bar.Any(y=>y.Id==x.Id));

!bar.Any(y=>y.Id==x.Id)アイテムがbarコレクションにある場合は取得し、そうでない場合はfooコレクションから削除します。

ハッシュセットO(n)を使用したより良いソリューション:

var idsNotToBeRemoved = new HashSet<int>(bar.Select(item => item.Id));                     
foo.RemoveAll(item => !idsNotToBeRemoved.Contains(item.Id));

2番目の回答のソース:https//stackoverflow.com/a/4037674/1714342

編集:

@Carraが言ったように、最初の解決策は小さなリストに適していて、2番目の解決策は大きなリストに適しています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

特定のプロパティによって別のリストにあるアイテムをリストから削除しますか?

分類Dev

LINQを使用して、別のプロパティでグループ化されたリストから最大値を除くすべてを削除します

分類Dev

交差した後、配列リストからアイテムをリモートで削除します

分類Dev

LINQを使用して、日付に基づいてリストからアイテムを削除します

分類Dev

LINQを使用してリストから特定のアイテムを削除します

分類Dev

c#-Linqなどを使用してリストから一致するアイテムを削除する方法

分類Dev

Androidアプリ-別のアクティビティでのアクションに続いてリストからアイテムを削除します

分類Dev

Flutter-ListView.builderインデックスとプロバイダーパッケージを使用してリストからアイテムを削除する

分類Dev

プロパティによってリストからアイテムを取得し、それから他のプロパティを使用するにはどうすればよいですか?

分類Dev

Reactjsによるプロパティを持つアイテムのリストからランダムなアイテムを取得します

分類Dev

DOM を使用してリストからアイテムを削除する

分類Dev

LINQはリスト内のアイテムを集約し、プロパティを連結します

分類Dev

Javaを使用して、リストから別のプロパティに基づいて、重複するプロパティを持つ要素を削除する8

分類Dev

LINQを使用して、リスト内のアイテムに一致するアイテムをIEnumerableから削除する

分類Dev

他のリストのアイテムを比較して、リストからアイテムを削除します

分類Dev

LINQを使用して、リストのリストで個別のプロパティを選択します

分類Dev

Watirを使用して、ドロップダウンリストからアイテム番号でアイテムを選択しますか?

分類Dev

forループを使用し、appendを使用して、既存のリストからアイテムを削除するにはどうすればよいですか?

分類Dev

リスト内の以前のアイテムをロードせずに、angularjsを使用してJavaScriptのリストからアイテムを削除する方法

分類Dev

Pythonリスト内包表記を使用してリストからアイテムを削除します

分類Dev

linqを使用してリストのプロパティを変更する

分類Dev

グループ化された特定のプロパティによって、別のリストにあるアイテムをリストから削除します

分類Dev

sqliteDatabaseを使用してカスタムリストビューからアイテムを削除します

分類Dev

C#-別のリストとの部分的な交差に基づいてリストから特定のアイテムを選択します(Linq + Lambda)

分類Dev

リスト内のエンティティからの2つのプロパティを組み合わせて、Linqでフラット化します

分類Dev

リストからアイテムを削除すると、リストはタイプなしになります

分類Dev

LINQを使用して、特定の数のアイテムを持つ別のエンティティからリストを取得する方法

分類Dev

LINQを使用して、同じレベルのプロパティとリストの他のアイテムを選択するにはどうすればよいですか?

分類Dev

Linqを使用して別のサブリストに一致するサブリストからアイテムを削除する

Related 関連記事

  1. 1

    特定のプロパティによって別のリストにあるアイテムをリストから削除しますか?

  2. 2

    LINQを使用して、別のプロパティでグループ化されたリストから最大値を除くすべてを削除します

  3. 3

    交差した後、配列リストからアイテムをリモートで削除します

  4. 4

    LINQを使用して、日付に基づいてリストからアイテムを削除します

  5. 5

    LINQを使用してリストから特定のアイテムを削除します

  6. 6

    c#-Linqなどを使用してリストから一致するアイテムを削除する方法

  7. 7

    Androidアプリ-別のアクティビティでのアクションに続いてリストからアイテムを削除します

  8. 8

    Flutter-ListView.builderインデックスとプロバイダーパッケージを使用してリストからアイテムを削除する

  9. 9

    プロパティによってリストからアイテムを取得し、それから他のプロパティを使用するにはどうすればよいですか?

  10. 10

    Reactjsによるプロパティを持つアイテムのリストからランダムなアイテムを取得します

  11. 11

    DOM を使用してリストからアイテムを削除する

  12. 12

    LINQはリスト内のアイテムを集約し、プロパティを連結します

  13. 13

    Javaを使用して、リストから別のプロパティに基づいて、重複するプロパティを持つ要素を削除する8

  14. 14

    LINQを使用して、リスト内のアイテムに一致するアイテムをIEnumerableから削除する

  15. 15

    他のリストのアイテムを比較して、リストからアイテムを削除します

  16. 16

    LINQを使用して、リストのリストで個別のプロパティを選択します

  17. 17

    Watirを使用して、ドロップダウンリストからアイテム番号でアイテムを選択しますか?

  18. 18

    forループを使用し、appendを使用して、既存のリストからアイテムを削除するにはどうすればよいですか?

  19. 19

    リスト内の以前のアイテムをロードせずに、angularjsを使用してJavaScriptのリストからアイテムを削除する方法

  20. 20

    Pythonリスト内包表記を使用してリストからアイテムを削除します

  21. 21

    linqを使用してリストのプロパティを変更する

  22. 22

    グループ化された特定のプロパティによって、別のリストにあるアイテムをリストから削除します

  23. 23

    sqliteDatabaseを使用してカスタムリストビューからアイテムを削除します

  24. 24

    C#-別のリストとの部分的な交差に基づいてリストから特定のアイテムを選択します(Linq + Lambda)

  25. 25

    リスト内のエンティティからの2つのプロパティを組み合わせて、Linqでフラット化します

  26. 26

    リストからアイテムを削除すると、リストはタイプなしになります

  27. 27

    LINQを使用して、特定の数のアイテムを持つ別のエンティティからリストを取得する方法

  28. 28

    LINQを使用して、同じレベルのプロパティとリストの他のアイテムを選択するにはどうすればよいですか?

  29. 29

    Linqを使用して別のサブリストに一致するサブリストからアイテムを削除する

ホットタグ

アーカイブ