> 백엔드 개발 > C++ > LINQ의 SelectMany() 메서드는 중첩된 정수 목록을 어떻게 평면화할 수 있습니까?

LINQ의 SelectMany() 메서드는 중첩된 정수 목록을 어떻게 평면화할 수 있습니까?

Patricia Arquette
풀어 주다: 2025-01-26 15:36:09
원래의
366명이 탐색했습니다.

How Can LINQ's SelectMany() Method Flatten a Nested List of Integers?

LINQ의 SelectMany()를 사용하여 중첩된 정수 목록 평면화

LINQ 쿼리는 IEnumerable<List<int>>과 같은 중첩 컬렉션을 생성하는 경우가 많습니다. SelectMany() 메서드는 이러한 항목을 단일 목록으로 효율적으로 병합합니다.

도전:

LINQ 쿼리가 정수 목록(IEnumerable<List<int>>) 목록을 반환한다고 가정합니다. 임무는 이러한 내부 목록을 하나의 1차원 List<int>으로 결합하는 것입니다.

예시:

다음 입력 목록으로 시작:

<code>[1, 2, 3, 4] and [5, 6, 7]</code>
로그인 후 복사

원하는 출력은 다음과 같습니다.

<code>[1, 2, 3, 4, 5, 6, 7]</code>
로그인 후 복사

SelectMany()를 사용한 솔루션:

LINQ의 SelectMany()는 이 과정을 단순화합니다. 중첩된 목록을 평면화하는 방법은 다음과 같습니다.

<code class="language-csharp">var nestedList = new List<List<int>> { new List<int> { 1, 2, 3, 4 }, new List<int> { 5, 6, 7 } };
var flattenedList = nestedList.SelectMany(innerList => innerList).ToList(); </code>
로그인 후 복사

설명:

  • nestedList: 목록의 입력 목록을 나타냅니다.
  • SelectMany(innerList => innerList): 이것이 솔루션의 핵심입니다. SelectMany()innerList의 각 nestedList을 반복합니다. 람다 식 innerList => innerList은 단순히 각 내부 목록을 자신에게 투영하여 효과적으로 중첩을 펼칩니다.
  • .ToList(): 병합된 결과 시퀀스를 List<int>으로 변환합니다.

이 간결한 코드는 중첩 목록을 효율적으로 평면화하여 원하는 1차원 정수 목록을 제공합니다.

위 내용은 LINQ의 SelectMany() 메서드는 중첩된 정수 목록을 어떻게 평면화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿