博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 如何将List拆分成多个子集合
阅读量:5095 次
发布时间:2019-06-13

本文共 1847 字,大约阅读时间需要 6 分钟。

网上的例子:
问:List<string> list = new List<string>();
        for (int i = 1; i < 95; i++)
        {
            list.Add(i.ToString());
        }
如何将list拆分成10个子集合?
答案:
 List<List<string>> listGroup = new List<List<string>>();
            int j = 10;
            for (int i = 0; i < list1.Count; i += 10)
            {
                List<string> cList = new List<string>();
                cList = list1.Take(j).Skip(i).ToList();
                j +=10;
                listGroup.Add(cList);
            }
个人使用中的实例如下:
    
    
    
    
#region  新方法
                List<List<hourhistoryrecorditem>> listGroup = new List<List<hourhistoryrecorditem>>();
                int j = 500000;
                for (int i = 0; i < lstVals.Count; i += 500000)
//以50万为一组分组
                {
                    List<hourhistoryrecorditem> cList = new List<hourhistoryrecorditem>();
                    cList = lstVals.Take(j).Skip(i).ToList();
                    j += 500000;
                    listGroup.Add(cList);
                }
                for (int i = 0; i < listGroup.Count; i++)
                {
                    List<hourhistoryrecorditem> list = new List<hourhistoryrecorditem>();
                    list = listGroup[i];
                    foreach (hourhistoryrecorditem aItem in list)
                    {
                        int iOffset = 0;
                        DataRow r = dt.NewRow();
                        r[iOffset++] = DBNull.Value;
                        r[iOffset++] = aItem.CurValue;
                        r[iOffset++] = aItem.MaxValue_;
                        r[iOffset++] = aItem.MinValue;
                        r[iOffset++] = aItem.AvgValue;
                        r[iOffset++] = aItem.ValueFlag;
                        r[iOffset++] = aItem.RecordType;
                        r[iOffset++] = aItem.NodeID;
                        r[iOffset++] = aItem.LogDT;
                        r[iOffset++] = aItem.DataCount;
                        r[iOffset++] = aItem.Increment;
                        r[iOffset++] = aItem.VTopVal;
                        r[iOffset++] = aItem.TopVal;
                        r[iOffset++] = aItem.NormalVal;
                        r[iOffset++] = aItem.LowVal;
                        r[iOffset++] = aItem.VLowVal;
                        r[iOffset++] = aItem.ChargeVal;
                        r[iOffset++] = aItem.IncVTopVal;
                        r[iOffset++] = aItem.IncTopVal;
                        r[iOffset++] = aItem.IncNormalVal;
                        r[iOffset++] = aItem.IncLowVal;
                        r[iOffset++] = aItem.IncVLowVal;
                        r[iOffset++] = aItem.IncChargeVal;
                        r[iOffset++] = aItem.OrgID;
                        dt.Rows.Add(r);
                    }
                    TablesBlukInsertOp.BulkToDB(dt, "hourhistoryrecorditem");
                    dt.Rows.Clear();
//执行完插入后,记得清空DataTable
                }
                #endregion

转载于:https://www.cnblogs.com/nangong/p/4860052.html

你可能感兴趣的文章
mybaits注解
查看>>
Codeforces Round #416 (Div. 2) A+B
查看>>
malloc和new有什么区别
查看>>
动态规划----最长公共子序列(C++实现)
查看>>
轻松搞定面试中的二叉树题目
查看>>
How to detect when a list is scrolling (or not)
查看>>
The method getDispatcherType() is undefined for the type HttpServletRequest
查看>>
如何在Mac上切换python2和python3以及下载安装包 & 在Mac上如何查找系统自带python2.7的路径...
查看>>
[leetcode]26.Remove Duplicates from Sorted Array
查看>>
PAT 甲级 1146 Topological Order
查看>>
校招准备-编程语言
查看>>
oracle 循环插入
查看>>
ACM-ICPC(9/25)
查看>>
沉淀再出发:redis的安装和使用
查看>>
Oracle 安装OEM 报错: 无法对所有EM 相关账户解锁 解决方法
查看>>
遗传算法(一)
查看>>
word之论文摘要
查看>>
GitHub
查看>>
密码学趣谈
查看>>
菜根谭#194
查看>>