zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C# DataRow 比较

c# 比较
2023-09-14 09:03:17 时间
/// returns /returns public static bool DataRowCompare(DataRow drA, DataRow drB, string[] columnNames) bool flag = false; //DataRow 中需要比较的列排序 ColumnSort(drA, columnNames); ColumnSort(drB, columnNames); foreach (DataColumn dcA in drA.Table.Columns) if (columnNames.Contains(dcA.ColumnName)) foreach (DataColumn dcB in drB.Table.Columns) if (columnNames.Contains(dcB.ColumnName)) if (dcB.ColumnName == dcA.ColumnName)//列名比较 //类型比较 if (dcB.DataType != dcA.DataType) flag = false; break; //值比较 else if (CompareObject(drA[dcB.ColumnName], drB[dcB.ColumnName])) flag = true; break; return flag; /// summary /// 按照数组中列名顺序排序 /// /summary /// param name="drA" /param /// param name="columnNames" 按照数组中列名顺序排序 /param public static void ColumnSort(DataRow drA, string[] columnNames) //drA 排序 int i = 0; foreach (string columnName in columnNames) if (drA.Table.Columns.Contains(columnName)) drA.Table.Columns[columnName].SetOrdinal(i); i++; }

对象比较方法 CompareObject(object objA, object objB):

 C# 对象比较(值类型、引用类型)


深拷贝部分代码:

C# 实体类序列化与反序列化一 (XmlSerializer)

C# 实体类序列化与反序列化二 (DataContractSerializer)