닷넷/C#

C# A리스트에서 B리스트에 있는 것을 제외하는 방법(LINQ)

FreeBear 2021. 7. 13. 11:34
반응형

다음은 C#에서 LINQ를 활용하여 A리스트에서 B리스트에 있는 것을 제외하는 방법이다. 수학적 표현으로는 차집합이다.

List<T> list = listA.Where(x=> !listB.Select(y=> y.id).Contains(x.id)).ToList();

 

이것을 반대로 하면 A리스트에서 B리스트에 있는 것만, 교집합이 된다.

List<T> list = listA.Where(x=> listB.Select(y=> y.id).Contains(x.id)).ToList();

 

그 외에도 Except, Any, SequenceEqual 등을 이용한 방법이 있으며 다음의 사이트에서 확인할 수 있다.

C# 두 개의 List<>를 비교하는 가장 빠른 방법

 

c# — 두 개의 List <>를 비교하는 가장 빠른 방법

두 가지 대규모 (> 50,000 개 항목)를 비교하는 가장 빠른 (그리고 리소스를 가장 많이 사용하지 않는) 것은 무엇입니까? 결과적으로 아래 두 가지 목록이 있습니다. 첫 번째 목록에는 표시되지만

www.it-swarm-korea.com

 

반응형