>백엔드 개발 >C++ >LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 확인할 수 있습니까?

LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 확인할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-20 05:46:41466검색

How Can LINQ Determine if One Array is a Subset of Another?

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>

코드는 다음과 같이 작동합니다.

  1. Except 메서드는 t1에 없는 t2의 요소만 포함하는 새 시퀀스를 만드는 데 사용됩니다.
  2. 그런 다음 이 결과 시퀀스에 Any 메서드를 적용하여 요소가 있는지 확인합니다.
  3. ! 연산자는 Any의 결과를 부정하는 데 사용됩니다. 즉, 결과 시퀀스가 ​​비어 있는 경우(즉, t2가 t1의 하위 집합임을 나타내는 요소가 없음), true 반환됩니다.

위 내용은 LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.