Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
也许这个问题听起来很傻,但是为什么会存在泛型和非泛型 IComparable接口呢?
IComparable
此外,更喜欢使用哪一个,为什么?
在引入泛型之前,非泛型IComparable是在 1.1 版中添加的,而IComparer<T>在 2.0 版中与泛型一起添加。
IComparer<T>
出于与所有通用接口相同的原因,首选通用版本 - 它更安全并且更清楚地记录意图。结构类型在传递给泛型方法时也不需要装箱,因为它们对于带有object类似参数的方法IComparable.CompareTo来说也有性能优势。
object
IComparable.CompareTo