중첩된 LINQ 쿼리 간소화: IEnumerable<List<int>> 목록으로
LINQ에서 중첩된 컬렉션을 작업하려면 더 쉬운 처리를 위해 컬렉션을 단일 목록으로 평면화해야 하는 경우가 많습니다. SelectMany()
메서드는 이러한 일반적인 작업에 대한 우아한 솔루션을 제공합니다.
시나리오:
LINQ 쿼리는 정수 목록 모음인 IEnumerable<List<int>>
을 반환합니다. 목표는 이것을 하나의 List<int>
.
해결책:
SelectMany()
메서드는 중첩된 구조를 효율적으로 평면화합니다. 방법은 다음과 같습니다.
<code class="language-csharp">var result = iList.SelectMany(i => i).ToList();</code>
SelectMany()
메서드는 i
내의 각 내부 목록(iList
)을 반복하고 해당 요소를 단일 시퀀스로 투영합니다. 그런 다음 .ToList()
확장 메서드는 이 시퀀스를 List<int>
.
그림:
입력 내용이 다음과 같다고 가정해 보겠습니다.
<code>[1, 2, 3, 4] [5, 6, 7]</code>
적용SelectMany()
수익률:
<code>[1, 2, 3, 4, 5, 6, 7]</code>
이 접근 방식은 중첩된 데이터 구조를 단순화하여 LINQ 쿼리를 더욱 간결하고 읽기 쉽게 만듭니다. 계층적 데이터와 관련된 다양한 시나리오를 처리하는 데 유용한 기술입니다.
위 내용은 LINQ를 사용하여`ienumerable '을'목록 '으로 평평하게하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!