0

也许这个问题听起来很傻,但是为什么会存在泛型非泛型 IComparable接口呢?

此外,更喜欢使用哪一个,为什么?

4

1 回答 1

5

在引入泛型之前,非泛型IComparable是在 1.1 版中添加的,而IComparer<T>在 2.0 版中与泛型一起添加。

出于与所有通用接口相同的原因,首选通用版本 - 它更安全并且更清楚地记录意图。结构类型在传递给泛型方法时也不需要装箱,因为它们对于带有object类似参数的方法IComparable.CompareTo来说也有性能优势。

于 2013-06-20T21:47:51.293 回答