📅  最后修改于: 2023-12-03 15:40:28.634000             🧑  作者: Mango
在某些情况下,我们需要将一个较大的数据表拆分成多个小表进行处理,这时候我们可以根据行数来拆分数据表。在C#中,我们可以使用LINQ和扩展方法来实现这个功能。
public static IEnumerable<IEnumerable<T>> Batch<T>(this IEnumerable<T> source, int batchSize)
{
while (source.Any())
{
yield return source.Take(batchSize);
source = source.Skip(batchSize);
}
}
var table = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var batchSize = 3;
var batches = table.Batch(batchSize);
foreach (var batch in batches)
{
foreach (var item in batch)
{
Console.Write(item + " ");
}
Console.WriteLine();
}
1 2 3
4 5 6
7 8 9
10
本文介绍了如何使用LINQ和扩展方法来根据行数拆分数据表,总体而言,这是一个基于IEnumerable