LINQ를 활용하여 고유 항목 식별
LINQ(Language Integrated Query)는 .NET 애플리케이션 내에서 데이터를 쿼리하고 조작하는 간소화된 접근 방식을 제공합니다. 빈번한 작업에는 한 컬렉션에서 다른 컬렉션에는 없는 요소를 식별하는 작업이 포함됩니다.
이 예에서는 Person
개체의 두 목록인 peopleList1
및 peopleList2
을 보여줍니다. peopleList2
에 없는 개체를 peopleList1
에서 추출하는 것이 목표입니다.
LINQ 기반 솔루션
다음 LINQ 쿼리로 이를 수행합니다.
<code class="language-csharp">var result = peopleList2.Where(p => !peopleList1.Any(p2 => p2.ID == p.ID));</code>
이 쿼리는 peopleList2
에 Person
이 있는 모든 ID
을 제외하고 peopleList1
을 필터링합니다.
대체 LINQ 접근 방식
대체 LINQ 표현은 다음과 같습니다.
<code class="language-csharp">var result = peopleList2.Where(p => peopleList1.All(p2 => p2.ID != p.ID));</code>
이 접근 방식은 Person
의 peopleList2
가 동일한 Person
을 공유하지 않음을 확인하여 peopleList1
의 고유한 ID
개체를 식별합니다.
실적 분석
두 방법 모두 O(nm)의 시간 복잡도를 나타낸다는 점을 고려하는 것이 중요합니다. 여기서 n은 peopleList1
및 m의 크기를 나타냅니다. *는 peopleList2
의 크기를 나타냅니다. 광범위한 데이터 세트의 경우 이러한 복잡성으로 인해 성능 병목 현상이 발생할 수 있습니다. 이러한 시나리오에서는 최적화를 위해 대체 알고리즘이나 해시 테이블과 같은 데이터 구조를 탐색하는 것이 필요할 수 있습니다.
위 내용은 LINQ를 사용하여 다른 목록에는 없는 고유한 항목을 한 목록에서는 어떻게 효율적으로 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!