个人觉得使用IEquatable<T>时一定要慎重,一般在结构类型或密封类中可以实现此接口,但在抽象类或其他非密封类中不要实现此接口,而应该重写其继承类的Equals方法。另外如果有特殊的类型比较要求的话可以考虑重载Equals方法,比如增加几个参数以作候选参数,大家可以参考System.String类的Equals方法声明。