| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1616 人关注过本帖
标题:string类继承了接口IComparable,为什么要实现2个CompareTo
只看楼主 加入收藏
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
结帖率:100%
收藏
 问题点数:0 回复次数:2 
string类继承了接口IComparable,为什么要实现2个CompareTo

string类继承了接口IComparable,按理说只要实现第一个方法就OK了,为什么要重载第二个呢?

public int CompareTo(object value);
public int CompareTo(string strB);



还有IComparable接口和ICompare接口区别在哪里,他们的作用差异是什么?


搜索更多相关主题的帖子: public 接口 
2015-09-30 13:02
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
public int CompareTo(object value); 是实现IComparable接口的
public int CompareTo(string strB); 是实现IComparable<string>接口的
并非重载
实际上就string来说,这两个方法的实现最终都调用了System.Globalization.CultureInfo.(this, strB, CompareOptions.None);方法

IComparable接口和ICompare接口区别,请阅读
http://
2015-10-07 00:08
leisiege
Rank: 4
等 级:业余侠客
威 望:8
帖 子:95
专家分:235
注 册:2015-10-22
收藏
得分:0 
一个是IComparable  说是这个类可以做比较。说明这个类的对象可以调用compare方法,传入另一个相同的对象,返回比较结果。(obj2).
实现这个接口。相关的对象集合就可以用sort之类的排序方法了。


一个是IComparer    注意后缀是er。说明这个类是一个比较器。可以把两个对象传进他的函数中,返回比较结果。(obj1,obj2);
这个一般都是类已经做好,不想改动,只能单独做一个类专门用来比较已经做好的类对象。
2015-10-22 16:15
快速回复:string类继承了接口IComparable,为什么要实现2个CompareTo
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014367 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved