仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1442|回复: 11
打印 上一主题 下一主题

[学习教程] ASP.NET编程:C#在Compare时堕落:IComparer (或其依附的 IComparable 办法)未前往零仓酷云 ...

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:59 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。明天在C#完成一个IComparer接口时碰到了成绩,在实行过程当中抛出了以下非常:
当Array.Sort挪用x.CompareTo(x)时,IComparer(或其依附的IComparable办法)未前往零
事先楞了一下,不晓得是怎样回事,厥后发明应当先断定要对照的两个参数是不是是统一个援用,假如是则要前往0。
全部对照的代码以下:
1234567891011121314151617publicclassMetaItemXSort:IComparer{publicintCompare(Objectx,Objecty){//请注重这里对照两个参数是不是是统一援用,假如是则要前往0if(x.Equals(y))return0;BaseItemtemp1=xasBaseItem;BaseItemtemp2=yasBaseItem;//null的情形也要思索if(temp1!=null&&temp2!=null)return((PointF)temp1.Bound.Location).X.CompareTo(((PointF)temp2.CenterPoint).X);elsereturn0;}}实在我们在完成本人的Compare办法时,必要做以下几个判别:
1、先判别对象为空的情形
2、都非空,再判别两个参数是不是为统一对象援用,如果前往0
3、最初按对象的属性来对照排序
那做企业软件是不是最好用J2EE?
蒙在股里 该用户已被删除
沙发
 楼主| 发表于 2015-2-2 21:43:43 | 显示全部楼层
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 05:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表