我写了很多对象,它们都是集合的一部分,并且需要进行排序和搜索。对于大多数对象,我已经实现并重载了Equals
方法、IEquatable
接口以及operator!
和operator==
运算符。
现在我想在一个已实现所有上述功能的对象上使用List<T>.Sort
,结果发现我需要实现IComparable
才能进行自定义排序。
为什么Sort使用IComparable
,那么在我的所有对象中实现IEquatable
有什么意义呢?
另外,Object.Equal
的重载与所有这些有什么关系呢?
a
、b
和c
,已知a==b
,a!=c
和b!=c
(这是所有可能的组合)。现在,请将a
、b
和c
按升序排列。 ;p - Marc Gravell