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);
}
}
}