public class StudentDataRowComparer : IEqualityComparer
{
#region IEqualityComparer Members
public bool Equals(DataRow x, DataRow y)
{
return (x.Field("STUDENTID") == y.Field("STUDENTID"));
}
public int GetHashCode(DataRow obj)
{
return obj.ToString().GetHashCode();
}
#endregion
}
How to call it
...
//---Make an Union of both tables
IEnumerable bothTables = dt1.AsEnumerable().Union(dt2.AsEnumerable());
DataTable dtUnion = bothTables.CopyToDataTable();
//---Remove Duplicates
var distinctStudents = dtUnion.AsEnumerable().Distinct( new StudentDataRowComparer());
DataTable dtFinal = distinctStudents.CopyToDataTable();