实现IComparable接口的CompareTo方法
解决方案 »
- 很久不用的tabstrip控件在后台添加tab项问题,会的帮帮忙!谢谢
- 怎样记录电脑每次的开机关机时间和在线时长记录
- 如何为c#WinForm程序加载皮肤?
- 请问达人进程和线程有什么区别
- CrystalDecisions.CrystalReports.Engine.DataSourceException: 查询引擎错误
- 跪求高手回答:计算机是如何判别中的“数据与指令”一下子好像还真想不明白
- 【请问】关于Console.WriteLine("******");
- WPF里怎么把按钮画成六边形?
- 装了.NET2003后运行VB6.0写的程序出现运行错误了怎么办?
- 问:
- 循环暂停和定时执行代码的问题。
- c# WinFrm 三层构架如何分层 在线等待
让你的T变成一个实现了IComparable接口的类型,然后就可以改为:
return value.CompareTo(o.value);
声明需要改成:
class C<T> where T: IComparable
{
private T value;
public C(T value) { this.value = value; }
public int compareTo(C<T> o)
{
return value < o.value ? -1 : 1;//报错说“<”不能用于T类型
}
}
--------------------------------------------
程序有问题 T 包括值和引用类型
value < o.value ? -1 : 1;
你这样做 就是把它当成值类型做的
你应该T派生值类型
比如
C<string> s = new C<string>();
s.comapreTo(new C<int>());