在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. JAVA类与类之间的关系及代码示例

    参考链接:https://blog.csdn.net/wq6ylg08/article/details/81092056

  2. 记录一次群答问:requests获取cookie

    问题: 为了测试,写的sever,下面仅为set cookie的部分代码 response = make_response('{"code":9420, "msg&quo ...

  3. 15-C#笔记-结构体

    示例: using System; using System.Text; struct Books { private string title; // 支持 public private strin ...

  4. .Net反射-基础2-BindingFlags参数

    BindingFlags参数用于指定反射查找的范围在调用下列方法时会用到BindingFlags参数 // 调用方法. InvokeMethod // 创建实例. CreateInstance // ...

  5. sessionId控制单点登陆

    1.配置security-context.xml文件 <?xml version="1.0" encoding="UTF-8"?><beans ...

  6. q1096

    一,看题 1,大概是每个点都来一次BFS标记下应该就可以. 2,你可以想想队列为啥pop()是l++; 3,还是字符你得注意下. 4,x,y,m,n,行列你得搞清楚. 5,这棋盘的破东西.. 6,额, ...

  7. vue之非父子通信

    一.非父子通信: 思路: 找个中间存储器,组件一把信息放入其中,组件二去拿 代码如下: let hanfei = new Vue();  # 实列化个空的vue对象,作为中间存储器来时间        ...

  8. 基环树DP

    基环树DP Page1:问题 啥是基环树?就是在一棵树上增加一条边. Page2:基环树的几种情况 无向 有向:基环外向树,基环内向树. Page3:处理问题的基本方式 1.断环成树 2.分别处理树和 ...

  9. PID optimizer

    如何评价PID optimizer? 论文链接:http://www4.comp.polyu.edu.hk/~cslzhang/paper/CVPR18_PID.pdf作者github:https:/ ...

  10. gunicorn 参数

    gunicorn -w 4 -b 0.0.0.0:8080 yourpyfilename:app --log-level DEBUG --timeout 60gunicorn的命令对应参数含义如下: ...