LINQ로 효율적인 컬렉션 분할
데이터 조작을 위해서는 대규모 컬렉션을 더 작고 관리 가능한 하위 집합으로 분할해야 하는 경우가 많습니다. LINQ는 이러한 일반적인 작업에 대한 우아한 솔루션을 제공합니다. 다음 LINQ 확장 방법은 컬렉션을 지정된 수의 비례 부분으로 효과적으로 나눕니다.
<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>
이 확장 방법은 LINQ의 그룹화 기능을 활용합니다. 모듈로 연산자(%)를 사용하여 원하는 parts
수에 걸쳐 요소를 균등하게 배포합니다. 출력은 IEnumerable
의 IEnumerable<T>
이며, 여기서 각 내부 IEnumerable<T>
는 원본 컬렉션의 일부를 나타냅니다.
위 내용은 LINQ를 사용하여 컬렉션을 비례적인 부분으로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!