日期:2014-05-18 浏览次数:21598 次
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;
       }