[C#][Linq][Expression] 將陣列分割成固定長度的小陣列

來源:[Snippet]在C#中将List分割成多个定长的小List

可以將一個很長很長很長的List分割成固定大小的List方便批次運算。

程式碼:

1
2
3
4
5

public static IEnumerable<IEnumerable<T>> ChunkBy<T>(this IEnumerable<T> source, int chunkSize)
{
return source.Select((x, i) => new { Index = i, Value = x }).GroupBy(x => x.Index / chunkSize).Select(x => x.Select(v => v.Value));
}