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 중국어 웹사이트의 기타 관련 기사를 참조하세요!