List去除重复项。

public delegate bool EqualsComparer<T>(T x, T y);
/// <summary>
/// 过滤重复数据
/// </summary>
public class Comparint<T> : IEqualityComparer<T>
{
private EqualsComparer<T> ec;
public Comparint() { }
public Comparint(EqualsComparer<T> e)
{
this.ec = e;
}
#region IEqualityComparer<BudgetBE> 成员

public bool Equals(T x, T y)
{
if (null != this.ec)
return this.ec(x, y);
else
return false;
}

public int GetHashCode(T obj)
{
return obj.ToString().GetHashCode();
}

#endregion
}

使用:

List=List.Distinct(new Comparint<T>(delegate(T x, T y)
{
if (x.ID == y.ID)
return true;
return false;
})
).ToList();

原文地址:https://www.cnblogs.com/lucoo/p/2975806.html