LINQ를 사용하여 컬렉션을 여러 부분으로 분할
이 기사에서는 데이터 분석 및 프로그래밍의 일반적인 문제인 세트를 n개의 서로 다른 하위 세트로 분할하는 문제를 살펴봅니다.
LINQ 솔루션:
LINQ는 이 작업을 위한 간단하고 우아한 솔루션을 제공합니다. 다음 확장 메서드 Split<T>
는 예상된 결과를 달성합니다.
<code class="language-csharp">static class LinqExtensions { public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; } }</code>
지침:
Split<T>
메서드는 입력 컬렉션(list
)과 이를 분할할 부분 수(parts
)라는 두 가지 매개 변수를 허용합니다. i
카운터를 0으로 초기화합니다. group by
구문을 사용하여 i
및 parts
의 모듈로를 기반으로 그룹을 만듭니다. 이렇게 하면 원래 컬렉션에서의 위치에 따라 요소가 다른 부분에 할당됩니다. IEnumerable<T>
개체 컬렉션을 생성하는 것으로 예상되며, 각 개체는 원본 컬렉션의 일부를 나타냅니다. 이 솔루션은 LINQ를 사용하여 컬렉션을 하위 집합으로 분할하는 편리하고 읽기 쉬운 방법을 제공합니다.
위 내용은 LINQ를 사용하여 컬렉션을 여러 부분으로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!