首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么判断两个datatable 是否相同

2012-05-01 
如何判断两个datatable 是否相同用,equal肯定是不行的,要怎样做呢?[解决办法]额,这样搞:先导出XML字符串,

如何判断两个datatable 是否相同
用=,equal肯定是不行的,
要怎样做呢?

[解决办法]
额,这样搞:
先导出XML字符串,然后再比较
[解决办法]

C# code
public static bool IsSame(DataTable dt1, DataTable dt2)    {        DataTable dt3 = new DataTable();        dt3.Merge(dt1);        dt3.AcceptChanges();        dt3.Merge(dt2);        DataTable dt4 = dt3.GetChanges();        return dt4 == null || dt4.Rows.Count == 0;    }
[解决办法]
逐行比较。
[解决办法]
GetXml 和 Merge效率都不高。

可以先加一下判断提高效率,如:
if(ReferenceEquals(dt1,dt2))
{
return true;
}

if(dt1 == null && dt2 == null)
{
return true;
}

if(dt1 == null || dt2 == null)
{
return false;
}

if(dt1.Columns.Count != dt2.Columns.Count || dt1.Rows.Count != dt2.Rows.Count)
{
return false;
}

if(dt1.Columns.Count == 0)
{
return true;
}

热点排行