ASP.NET编程:C#在Compare时堕落:IComparer (或其依附的 IComparable 办法)未前往零仓酷云 ...
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装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? ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
页:
[1]