field(ID)
行全体ではなく、データテーブルを特定して区別したいのですが、その方法は次のとおりです。
私のテーブル構造:
ID -- name -- desc
コード:
DataTable dt = table.AsEnumerable()
.Distinct(DataRowComparer.Default)//I want to distinct by id instead
.CopyToDataTable();
これがあなたが望むものかどうかはわかりませんがIEqualityComparer
、同じIDを持つすべての行を無視することができます
DataTable dt = table.AsEnumerable().Distinct(new MyComparer<YourClass>())
.CopyToDataTable()
と :
class MyComparer<T> : IEqualityComparer<T> where T : YourClass
{
public bool Equals(T x, T y)
{
return x.Id.Equals(y.Id);
}
public int GetHashCode(T obj)
{
return obj.Id.GetHashCode();
}
}