LINQ를 사용하여 배열 하위 집합 관계를 효율적으로 확인
프로그래밍에서는 배열이 다른 배열의 하위 집합인지 확인해야 하는 경우가 많습니다. 이는 데이터 처리 및 분석에 매우 중요합니다. 이 문서에서는 배열 하위 집합 관계를 효율적으로 확인하기 위한 LINQ 기반 방법을 살펴봅니다.
두 가지 배열 예시를 살펴보겠습니다.
<code>List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
우리의 목표는 t2가 t1의 하위 집합인지 확인하는 것입니다. 강력한 LINQ 확장 메서드를 활용하면 Except()
및 Any()
메서드를 사용하여 이 조건을 효율적으로 확인할 수 있습니다.
Except()
메서드는 첫 번째 컬렉션에는 있지만 두 번째 컬렉션에는 없는 요소가 포함된 새 컬렉션을 반환합니다. 따라서 t2.Except(t1)의 결과가 공집합인지 확인하면 t2의 모든 요소가 t1에 있는지 여부를 확인할 수 있습니다.
아래 코드에 표시된 대로 논리 연산자를 사용하여 결과를 부정하여 t2가 t1의 하위 집합인지 확인합니다.
<code>bool isSubset = !t2.Except(t1).Any();</code>
제공된 예에서 isSubset
는 true
으로 평가되어 t2의 모든 요소가 t1에도 존재하므로 t2가 실제로 t1의 하위 집합임을 확인합니다.
위 내용은 LINQ를 사용하면 한 배열이 다른 배열의 하위 집합인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!