LINQ를 사용하여 배열 하위 집합 간의 관계 확인
배열이나 목록을 다룰 때 한 배열이 다른 배열의 하위 집합인지 확인해야 하는 경우가 많습니다. 이 맥락에서 "하위 집합"은 다른 집합의 모든 요소를 포함하는 집합을 나타냅니다.
예를 들어 다음 시나리오를 고려해 보세요.
<code class="language-csharp">List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
t2가 t1의 하위 집합인지 확인해야 합니다. 이를 위해 C#의 LINQ(Language Integrated Query) 기능을 활용할 수 있습니다.
LINQ는 컬렉션에 대해 집합 작업을 수행하는 간단하고 간결한 방법을 제공합니다. 이러한 작업 중 하나는 다른 컬렉션에도 있는 요소를 제외하는 Except
메서드입니다.
t2가 t1의 하위 집합인지 확인하려면 다음과 같이 Except
메서드를 사용할 수 있습니다.
<code class="language-csharp">bool isSubset = !t2.Except(t1).Any();</code>
코드는 다음과 같이 작동합니다.
Except
메서드는 t1에 없는 t2의 요소만 포함하는 새 시퀀스를 만드는 데 사용됩니다. Any
메서드를 적용하여 요소가 있는지 확인합니다. !
연산자는 Any
의 결과를 부정하는 데 사용됩니다. 즉, 결과 시퀀스가 비어 있는 경우(즉, t2가 t1의 하위 집합임을 나타내는 요소가 없음), true
반환됩니다. 위 내용은 LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!