>백엔드 개발 >C++ >LINQ를 사용하여 컬렉션을 여러 부분으로 분할하려면 어떻게 해야 합니까?

LINQ를 사용하여 컬렉션을 여러 부분으로 분할하려면 어떻게 해야 합니까?

DDD
DDD원래의
2025-01-20 03:41:09692검색

How Can I Split a Collection into Multiple Parts Using LINQ?

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 구문을 사용하여 iparts의 모듈로를 기반으로 그룹을 만듭니다. 이렇게 하면 원래 컬렉션에서의 위치에 따라 요소가 다른 부분에 할당됩니다.
  • 마지막으로 결과는 IEnumerable<T> 개체 컬렉션을 생성하는 것으로 예상되며, 각 개체는 원본 컬렉션의 일부를 나타냅니다.

이 솔루션은 LINQ를 사용하여 컬렉션을 하위 집합으로 분할하는 편리하고 읽기 쉬운 방법을 제공합니다.

위 내용은 LINQ를 사용하여 컬렉션을 여러 부분으로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.