LINQ를 효율적으로 사용하여 배열 하위 집합 간의 관계 확인
어레이가 다른 어레이의 하위 집합인지 확인하는 것은 일반적인 프로그래밍 작업입니다. 여기서 하위 집합은 모든 요소가 상위 배열에 존재하는 집합을 나타냅니다. 이 관계는 LINQ(Language Integrated Query) 기능을 사용하여 효율적으로 확인할 수 있습니다.
두 개의 목록이 있다고 가정해 보겠습니다.
<code>List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
우리의 목표는 LINQ를 사용하여 t2가 t1의 하위 집합인지 확인하는 것입니다.
이를 위해 Except
연산자를 사용하여 t2에 없는 t1의 요소를 제외할 수 있습니다. 결과 목록이 비어 있으면 t2의 모든 요소가 t1에 존재한다는 의미이며, 이는 t2가 실제로 t1의 하위 집합임을 나타냅니다.
다음 LINQ 표현식은 이 논리를 요약합니다.
<code>bool isSubset = !t2.Except(t1).Any();</code>
isSubset
의 값이 true
이면 t2가 t1의 부분집합임을 확인합니다. 반대로 isSubset
이 false
이면 t2는 t1의 부분집합이 아닙니다.
이 예에서는 t2의 모든 요소(예: 1과 5)가 t1에도 존재하므로 Except
작업은 빈 목록을 생성하고 표현식은 true
로 평가되어 t2가 하위 집합임을 확인합니다. t1의.
위 내용은 LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 효율적으로 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!