メインメニューを開く

C♯で配列やコレクションをチャンク分け

C#で配列をチャンクに分けたい。

チャンクサイズを指定するだけで小分けにされる。

    using System;
    using System.Collections.Generic;
    using System.Linq;

    public static class IEnumerableExtension
    {
        public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> collection, int size)
        {
            while (collection.Any())
            {
                yield return collection.Take(size);
                collection = collection.Skip(size);
            }
        }
    }

関連項目編集