class ListDistinctDemo
{
static void Main(string[] args)
{
List personList = new List(){
new Person(3),//重复数据
new Person(3),
new Person(2),
new Person(1)
};
//使用匿名方法
List delegateList = (new Compare(
delegate(Person x, Person y)
{
if (null == x || null == y) return false;
return == ;
})).ToList();
(s => ());
//使用 Lambda 表达式
List lambdaList = (new Compare(
(x, y) => (null != x && null != y) && ( == ))).ToList();
(s => ());
//排序
((x, y) => ());
(s => ());
}
}
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public Person(int id)
{
= id;
}
}
public delegate bool EqualsComparer(T x, T y);
public class Compare : IEqualityComparer
{
private EqualsComparer _equalsComparer;
public Compare(EqualsComparer<T> equalsComparer)
{
this._equalsComparer = equalsComparer;
}
public bool Equals(T x, T y)
{
if (null != this._equalsComparer)
return this._equalsComparer(x, y);
else
return false;
}
public int GetHashCode(T obj)
{
return ().GetHashCode();
}
}