/// <summary>
/// 集合分批
/// </summary>
/// <typeparam name="T">数据类型</typeparam>
/// <param name="lists">要分批的集合</param>
/// <param name="Count">每批的数量</param>
/// <returns>分批集合</returns>
public static List<List<T>> SplitBatchs<T>(List<T> lists, int Count)
{
List<List<T>> batchs = new List<List<T>>();
//集合数量
long listCount = lists.Count;
//分成的批次总数量
long batchCount = (long)Math.Ceiling((double)listCount/(double)Count);
if (Count>listCount)//一批
{
batchs.Add(lists);
}
else
{
for (int i = 0; i < batchCount; i++)
{
batchs.Add(lists.Skip(i * Count).Take(Count).ToList());
}
}
return batchs;
}