在C#中的Datatable类中,可以使用DataTable类的Merge方法对两个相同结构的DataTable对象进行求并集运算,将两个DataTable对象的数据行合并到其中一个DataTable变量中,或者说往其中一个DataTable对象中写入另一个DataTable对象的所有数据行。下列例子中使用到DataTable.Clone方法,DataTable.Clone方法用于赋值DataTable的结构信息,包括所有 DataTable 架构和约束。

Merge方法的签名为:void Merge(DataTable table);参数table代表被合并的DataTable对象变量。

举例如下,将newDt1对象的所有数据合并到dataDt对象中,具体代码如下:

          DataTable dataDt = new DataTable();

            dataDt.Columns.Add(new DataColumn() { ColumnName = "Name" });
dataDt.Columns.Add(new DataColumn() { ColumnName = "Id" });
dataDt.Columns.Add(new DataColumn() { ColumnName = "Memo", DataType=typeof(String) }); DataRow newRow = dataDt.NewRow();
newRow["Name"] = "李四";
newRow["Id"] = 22;
newRow["Memo"] = "后续新增";
dataDt.Rows.Add(newRow); var newDt1 = dataDt.Clone();//通过Clone方法快速复制dataDt的结构信息 DataRow inserDataRow = newDt1.NewRow();//根据newDt1的结构创建一个行对象DataRow
inserDataRow["Name"] = "王五";
inserDataRow["Id"] = 23;
inserDataRow["Memo"] = "第一行";
newDt1.Rows.InsertAt(inserDataRow, 0);//往newDt1对象中写入一行数据 dataDt.Merge(newDt1);//将newDt1表格中的数据合并到dataDt表格中。

上述程序代码执行完毕之后,我们可以看到dataDt中存在两条数据,一条为Name="张三"的,另一个为Name="李四"的,即成功将newDt1表格中的数据合并到dataDt表格中。

更多的DataTable的操作文章可以参考:

(1)C#的DataTable类Clone及Copy方法的区别

(2)C#通过Clone方法快速创建相同架构的DataTable

(3)C#通过InsertAt方法在DataTable特定位置插入一条数据

(4)C#通过Copy方法快速复制DataTable对象

(5)C#通过IndexOf方法获取某一列在DataTable中的索引位置

(6)C#通过Contains方法判断DataTable中是否存在某个列名

(7)C#手动往DataTable中末尾新增一行数据

(8)C#通过遍历DataTable的列获取所有列名

(9)C#通过Remove方法移除DataTable中的某一列数据

(10)C#如何往DataTable中新增一个数据列

(11)C#通过Rows.Count属性获取总行数

(12)C#中遍历DataTable中的数据行

(13)C#中手动创建一个DataTable并写入数据

备注:原文转载自博主个人站IT技术小趣屋,原文链接为C#的Merge方法合并两个DataTable对象的数据_IT技术小趣屋

博主个人技术交流群:960640092,博主微信公众号如下:

【转载】C#的Merge方法合并两个DataTable对象的数据的更多相关文章

  1. DataSet的Merge方法合并两张表

    原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] UniqueConstraint uc = new UniqueConstraint("pk" ...

  2. 如何在Node.js中合并两个复杂对象

    通常情况下,在Node.js中我们可以通过underscore的extend或者lodash的merge来合并两个对象,但是对于像下面这种复杂的对象,要如何来应对呢? 例如我有以下两个object: ...

  3. Js $.merge() 函数(合并两个数组内容到第一个数组)

    定义和用法 $.merge() 函数用于合并两个数组内容到第一个数组. 语法 $.merge( first, second )   参数 描述 first Array类型 第一个用于合并的数组,合并后 ...

  4. c# 合并两个DataTable

    当两个DataTable 结构相同可以用自带方法(Merge)合并 // // 摘要: // 将指定的 System.Data.DataTable 与当前的 DataTable 合并,指示是否在当前的 ...

  5. 使用JQuery 合并两个 json 对象

    一,保存object1和2合并后产生新对象,若2中有与1相同的key,默认2将会覆盖1的值 var object = $.extend({}, object1, object2); 二,将2的值合并到 ...

  6. 【JQuery】使用JQuery 合并两个 json 对象

    一,保存object1和2合并后产生新对象,若2中有与1相同的key,默认2将会覆盖1的值 1 var object = $.extend({}, object1, object2); 二,将2的值合 ...

  7. C# 两个datatable中的数据快速比较返回交集或差集[z]

    最基本的写法无非是写多层foreach循环,数据量多了,循环的次数是乘积增长的. 这里推荐使用Except()差集.Intersect()交集,具体性能没有进行对比. 如果两个datatable的字段 ...

  8. C# 两个datatable中的数据快速比较返回交集或差集

    转自: https://www.cnblogs.com/lacey/p/5893380.html 如果两个datatable的字段完全一致的话,可以直接使用Except,Intersect //Exc ...

  9. JSONObject遍历获取键值方法合并两个JSONObject

    JSONObject obj1= new JSONObject(); try { obj1.put("obj1_data", obj1_data); if (null != obj ...

随机推荐

  1. Linux使用rz命令上传文件

    1.安装 yum -y install lrzsz 2.rz -be命令,选择需要上传的本地文件

  2. Git 游离态的一次问题解决

    jie@mozq MINGW64 /d/0xcEdu/xcEduService01 ((20ce6a5...)) $ git branch -v * (HEAD detached at 20ce6a5 ...

  3. LOJ#107. 维护全序集(FHQ Treap)

    题面 传送门 题解 板子,没啥好说的 //minamoto #include<bits/stdc++.h> #define R register #define inline __inli ...

  4. selenium 动态元素的定位

    对于有些元素每次点击都是动态的  即每次都是不一样的  对于这种元素我们可以采用与他相关的其他静态的元素定位 比如 iframe 这个元素的id是动态的 每次都在变化 第一种就是我们观察下 是整个都是 ...

  5. Anaconda3(1)Windows10下安装Anaconda3(64位)详细过程

    https://blog.csdn.net/ychgyyn/article/details/82119201 前言Anaconda指的是一个开源的Python发行版本,其包含了conda.Python ...

  6. Nginx on Docker 配置

    docker run -d -p 8082:8082 --name two-nginx -v ~/workplace/nginx/html:/usr/share/nginx/html -v ~/wor ...

  7. centos7+docker 安装和部署crawlab分布式爬虫平台,并使用docker-compose管理docker

    1.先决条件centos7+docker最新版本 sudo yum updat 2.配置一下镜像源,创建/etc/docker/daemon.conf文件,在其中输入如下内容 { "regi ...

  8. IDEA中各种图标

    前言 在用这个开发工具之前对大量的图标先有所了解,会提高不少效率 首先讲下基本的图标     Java类 Java抽象类 Groovy类 注解类 枚举类 异常类 最终的类 接口 包含有main方法的可 ...

  9. CSP 2019游记 & 退役记

    扶苏让我记录他AK CSP 的事实 ZAY NB!!! "你不配" 两年半的旅行结束了,我背着满满的行囊下了车,望着毫不犹豫远去的列车,我笑着哭了,笑着翻着我的行囊-- 游记 Da ...

  10. BootstrapTable的简单使用教程

    1.引入必须的几个包 <link th:href="bootstrap/css/bootstrap.css}"/> <link th:href="boo ...