比较两个DataTable的差集

 1       /// <summary>
 2         /// 获取dt1相对于dt2的增量
 3         /// </summary>
 4         /// <param name="dt1">比对的dt</param>
 5         /// <param name="dt2">参照的dt</param>
 6         /// <param name="differentType">差异说明</param>
 7         /// <param name="newDataTable">新的DataTable,主要获取DataTable 的架构</param>
 8         /// <returns>是否有差异</returns>
 9         private bool DataTableCompare(DataTable dt1, DataTable dt2, string differentType, ref DataTable newDataTable)
10         {
11             var normalReceiveAdd = dt1.AsEnumerable().Except(dt2.AsEnumerable(), DataRowComparer.Default);
12
13             foreach (DataRow dr in normalReceiveAdd)
14             {
15                 var newdrArray = dr.ItemArray.ToList();
16                 if (newdrArray.Count(a => string.IsNullOrWhiteSpace(a.ToString())) == newdrArray.Count)
17                 {
18                     break;//去除空行
19                 }
20                 newdrArray.Add(differentType);
21                 newDataTable.Rows.Add(newdrArray.ToArray());
22             }
23             return newDataTable.Rows.Count > 0;
24         }
时间: 2024-10-11 01:41:43

比较两个DataTable的差集的相关文章

两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)

//获取第一个数据源DataTable DataTable dt1 = DBHelper.GetDataTable("select top 10  ksdid,user_id,user_pwd from ksd_user_info"); IEnumerable<DataRow> query1 = dt1.AsEnumerable().Where(t => t.Field<string>("user_id").StartsWith(&qu

C# 获取两个DataTable 的交集、并集、差集

//IEnumerable<DataRow> QOld = vDTOld.AsEnumerable().ToList();                ////比较两个数据源的交集                //IEnumerable<DataRow> QJJ = vDTOld.AsEnumerable().Intersect(DTNew.AsEnumerable(), DataRowComparer.Default);                ////两个数据源的交集

计算两个集合的差集——第六期 Power8 算法挑战赛

第六期Power8大赛 1.1 比赛题目 题目: 计算两个集合的差集: 详细说明: 分别有集合A和B两个大数集合,求解集合A与B的差集(A中有,但B中无的元素),并将结果保存在集合C中,要求集合C中的元素升序. 输入为两个文件,分别为A.txt,B.txt,一行一个值,并且是无序的.结果输出到C.txt,即输入文件的差集,一行一个值,并且要求结果升序排列. 考量点: (1) 大数集合求差集: (2) 大数据集合排序: 题目实例: 例如,若集合A={5,20,10,15,25,30},集合B={1

java求两个集合的差集

public static void main(String[] args) {Set set = new HashSet();Set set1 = new HashSet();set.add("sanny");set.add("mary");set.add("bill");set.add("tom");set.add("tony");set.add("mark");set.add(&q

取两个DataTable的交集,删除重复数据

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /// <summary>         /// 取两个DataTable的交集,删除重复数据         /// </summary>         /// <param name="sourceDataTable">源DataTable</param>         

求差集,求两个数组的差集

<script type="text/javascript"> //创建两个数组 var array1=[]; var array2=[]; for(var i=0;i<10;i++){ array1['s'+i]='n'+i; if (i%2==0) { array2['s'+i]='n'+i; } } //根据小数组 从大数组中删除对应的值 for(var i in array1){ for(var j in array2){ if (i==j) { //匹配完成

php 求两个数组的差集应该注意的事情

对于 phper 来说 array_diff 这个函数应该知道它的用途,获取两个数组的差集,我理解中的差集是这样的 但是执行下代码会发现结果并不是 <?php $a = [1,2,3,4,5]; $b = [3,4,5,6,7]; $c = array_diff($a,$b); print_r($c); //输出 Array ( [0] => 1 [1] => 2 ) 我开始以为应该是会输出数组  [1,2,6,7] 才对的但是实际结果却不是,于是去翻下文档: 如图人家说的已经很清楚啦,

两个DataTable关联查询(inner join、left join)C#代码

1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Data; 5 6 namespace ConsoleApplication1 7 { 8 /// <summary> 9 /// 在返回的table处大断点查看结果 10 /// </summary> 11 class Program 12 { 13 static void Main(string[] ar

将两张DataTable进行join

方法一:在数据库中若是两张表中共同字段一个非空一个为NULL,可以通过sql语句进行合并: coalesce(t1.region_code,t2.region_code) as REGIONID 方法二:粗略写了个算法,也没有进行算法优化,仅供参考. /// <param name="dt1">要合并的表一</param> /// <param name="dt2">要合并的表二</param> /// <par