一个类,public class Person:IComparable ,其中写了一个方法。 int IComparable.CompareTo(object obj)
{
Person p2 = (Person)obj; if (this.FirstName.CompareTo(p2.FirstName) > 0)
return 1;
if (this.FirstName.CompareTo(p2.FirstName) < 0)
return -1;
if (this.FirstName.CompareTo(p2.FirstName) == 0)
return 0;
}
生成时候,系统报错:“Person.System.IComparable.CompareTo(object)”: 并非所有的代码路径都返回值。
为什么会这样呢?我觉得所有路径,都可以返回数值阿。
非常谢谢大家啊。
{
Person p2 = (Person)obj; if (this.FirstName.CompareTo(p2.FirstName) > 0)
return 1;
if (this.FirstName.CompareTo(p2.FirstName) < 0)
return -1;
if (this.FirstName.CompareTo(p2.FirstName) == 0)
return 0;
}
生成时候,系统报错:“Person.System.IComparable.CompareTo(object)”: 并非所有的代码路径都返回值。
为什么会这样呢?我觉得所有路径,都可以返回数值阿。
非常谢谢大家啊。
解决方案 »
- 「玩一玩」自制一个《倒水解密》游戏
- 急!!!DatagridView隐藏问题
- C#winform用listview+imagelist做出windows系统浏览缩略图的效果。
- 帮看下正则写对了没,限制小数位数
- 设计器中鼠标拖动控制控件的大小
- 有一个特别奇怪的控件(gridView)问题,高分求解,在线等!
- 一个发表留言页面,点击发表留言却只会提交“失败”,求助!
- 请问大家,在页面显示数据的时候是lable.text="asd"效率好还是<%=Str%>效率好啊
- listBox移动的问题
- 在线请教 ,怎么把一个时间2003-09-07 转化成数字 0309 ?越简单越好,俺现在在公司加班
- 水晶报表的问题
- socket下载
return 1;
if (this.FirstName.CompareTo(p2.FirstName) < 0)
return -1;
if (this.FirstName.CompareTo(p2.FirstName) == 0)
return 0; 都对应上面三种情况,但主的没有return..int IComparable.CompareTo(object obj)
{
Person p2 = (Person)obj; if (this.FirstName.CompareTo(p2.FirstName) > 0)
return 1;
if (this.FirstName.CompareTo(p2.FirstName) < 0)
return -1;
if (this.FirstName.CompareTo(p2.FirstName) == 0)
return 0;
return 0;
} 这样才行
{
Person p2 = (Person)obj; if (this.FirstName.CompareTo(p2.FirstName) > 0)
return 1;
if (this.FirstName.CompareTo(p2.FirstName) < 0)
return -1;
if (this.FirstName.CompareTo(p2.FirstName) == 0)
return 0;
return 0;
}
这样试试看..
{
Person p2 = (Person)obj; if (this.FirstName.CompareTo(p2.FirstName) > 0)
return 1;
else if (this.FirstName.CompareTo(p2.FirstName) < 0)
return -1;
else
return 0;
}