也许这个问题听起来很愚蠢,但为什么存在generic和non-generic IComparable
界面?
此外,哪一个更喜欢使用?为什么?
答案 0 :(得分:5)
在引入泛型之前,1.1版中添加了非通用IComparable
,而在版本2.0中添加了IComparer<T>
和泛型。
由于与所有通用接口相同的原因,通用版本是首选 - 它更安全并且更清楚地记录了意图。结构类型在传递给泛型方法时也不需要装箱,因为它们适用于object
参数IComparable.CompareTo
,因此也有性能优势。