网上的例子:

问: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

C# 如何将List拆分成多个子集合的更多相关文章

  1. sql语句编写 有时候一个子查询可以拆分成多个子查询

    sql语句编写 有时候一个子查询可以拆分成多个子查询

  2. List拆分成多个集合

    如果对一组大的集合进行操作,想分组进行,比如批量新增10000条数据,想100条分成一个集合分成100个集合,对集合进行操作100次,用C#如何编写,这里记录下代码如下 //构造被分隔的集合 List ...

  3. UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理

    一.字符编码简介 1. ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(by ...

  4. Oracle字符串行拆分成列的三种方式

    Oracle字符串行拆分成列的三种方式 --muphy 开发过程中经常会遇到将前台多个值用逗号连接一同传递到后台查询,这个用逗号连接的字符串分隔的每个字符串分别对应Oracle数据库表的不同行. 如下 ...

  5. [Swift]LeetCode842. 将数组拆分成斐波那契序列 | Split Array into Fibonacci Sequence

    Given a string S of digits, such as S = "123456579", we can split it into a Fibonacci-like ...

  6. 将excel按照某一列拆分成多个文件(方案整理)

    1解决方案:将excel按照某一列拆分成多个文件 https://blog.csdn.net/ntotl/article/details/79141314 2遇到的问题:解决vbe6ext.olb不能 ...

  7. Oracle数据库字段数据拆分成多行(REGEXP_SUBSTR函数)

    做多选功能时为了简便,会在某个字段中存储多个值,保存时虽然省事,但后续的查询统计时还需要拆分数据才行,因此这时需要将字段内的值分成多行以便后续使用. 下面这个例子实现了字段内数据的拆分: --创建测试 ...

  8. sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表

    USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_StrToTable_Double] Script Date: 2017/4/26 9 ...

  9. sqlserver 将 “用 特定字符 分隔的一个字段” 拆分成多个字段,然后两个表之间数据更新

    将源TXT文件sourceFile_table.txt导入数据库,生成新表dbo.sourceFile_table.新增字段lon.lat.shi.xian 源表dbo.sourceFile_tabl ...

随机推荐

  1. 关于node.js

    JS是一种脚本语言,它的本身并不能进行编译和执行,在最早的时期只是作为浏览器的脚本,只能够在浏览器中执行操作,也就是说JS必须依赖一个运行环境作为载体才能够执行. 而nodejs是基于chromeV8 ...

  2. jQuery的4种事件绑定方法

    jQuery中提供了四种绑定事件的方法,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off: 一.on()方法(首选方法) ...

  3. C#程序员经常用到的10个实用代码片段

    1 读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine(“Platform: {}”, ...

  4. OpenGL Insights 阅读有感 - Tile Based架构下的性能调校 翻译

    Performance Tunning for Tile-Based Architecture Tile-Based架构下的性能调校 by Bruce Merry GameKnife译 译序 在大概1 ...

  5. Android课程---关于Service的学习(后台运行)

    MainActivity.java package com.hanqi.test2; import android.content.ComponentName; import android.cont ...

  6. java学习笔记(1)

    最近开始学习java基本技术,在这里总结一下我学到的内容: 1.Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发 ...

  7. Lesson 10 Not for jazz

    Text We have an old musical instrument. It is called a clavichord. It was made in Germany in 1681. O ...

  8. 剑指Offer面试题:18.二叉树的镜像

    一.题目:二叉树的镜像 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像.例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像. 该二叉树节点的定义如下,采用C#语言描述: public c ...

  9. 操作系统核心原理-7.设备管理:I/O原理

    一.I/O的基本知识 1.1 为何要有I/O 前面阐述了操作系统具有进程管理.内存管理.外存管理三大核心功能,但是计算机归根是为人类服务的,这就要求计算机必须提供某种机制使得人们可以向计算机发出命令或 ...

  10. 清晰易懂TCP通信原理解析(附demo、简易TCP通信库源码、解决沾包问题等)C#版

    目录 说明 TCP与UDP通信的特点 TCP中的沾包现象 自定义应用层协议 TCPLibrary通信库介绍 Demo演示 未完成功能 源码下载 说明 我前面博客中有多篇文章讲到了.NET中的网络编程, ...