如果在LINQ里要使用自定义类的Distinct方法,如果缺省的不管用,(大部分情况不管用),那么就要自己实现。
根据MSDN建议
1)实现IEquatable<T>接口中的public bool Equals(T other),这个很简单
但是这个很操蛋,根本就不管用,而且设置断点也不调用这个方法
经过网络反复研究发现,必须要重写object类里的两个方法:
public override bool Equals(object obj) 和public override int GetHashCode()
重写后发现IEquatable接口才开始其作用,设置断点也停下来了