C#将一个list拆分多个list

/// <summary>
/// 一个list拆分多个list
/// </summary>
/// <param name="list">要拆分的集合</param>
/// <param name="num">拆分数</param>
/// <returns></returns>
public Dictionary<String, List<dms_SaleContractItem>> SplitList(List<dms_SaleContractItem> list, int num)
{


int listSize = list.Count; // 长度

Dictionary<String, List<dms_SaleContractItem>> contractItemDic =
new Dictionary<String, List<dms_SaleContractItem>>(); //用户封装返回的多个list
List<dms_SaleContractItem> contractItemList = new List<dms_SaleContractItem>();
; //用于承装每个等分list

for (int i = 0; i < listSize; i++)
{
//for循环依次放入每个list中
contractItemList.Add(list[i]); //先将对象放入list,以防止最后一个没有放入
if (((i + 1) % num == 0) || (i + 1 == listSize))
{
//如果l+1 除以 要分的份数 为整除,或者是最后一份,为结束循环.那就算作一份list,
contractItemDic.Add("ContractItem" + i, contractItemList); //将这一份放入Map中.
contractItemList = new List<dms_SaleContractItem>(); //新建一个list,用于继续存储对象
}
}

return contractItemDic;


}

猜你喜欢

转载自www.cnblogs.com/xujie520/p/12585589.html