DataRowComparer.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Collections.Generic;
  2. using System.Data;
  3. namespace Core.StlMes.Client.Qcm
  4. {
  5. /// <summary>
  6. /// 用于比较DataRow是否相同
  7. /// </summary>
  8. public class DataRowComparer : IEqualityComparer<DataRow>
  9. {
  10. #region IEqualityComparer<DataRow> 成员
  11. bool IEqualityComparer<DataRow>.Equals(DataRow x, DataRow y)
  12. {
  13. string value = "";
  14. foreach (DataColumn dc in x.Table.Columns)
  15. {
  16. value += x[dc.ColumnName].ToString();
  17. }
  18. string value2 = "";
  19. foreach (DataColumn dc in y.Table.Columns)
  20. {
  21. value2 += y[dc.ColumnName].ToString();
  22. }
  23. return value == value2;
  24. }
  25. int IEqualityComparer<DataRow>.GetHashCode(DataRow obj)
  26. {
  27. string value = "";
  28. foreach (DataColumn dc in obj.Table.Columns)
  29. {
  30. value += obj[dc.ColumnName].ToString();
  31. }
  32. return value.GetHashCode();
  33. }
  34. #endregion
  35. }
  36. }