变相怪杰 发表于 2015-1-16 22:48:41

ASP.NET编程:怎样用.NET Array类的Sort办法分类数值...

其实Java之所以在曾经独步天下,就是因为他的跨平台、安全性,这两方面,效率可不是Java的强项,反而是他最短的一块挡板,虽然net总是用理论证明比.NET快。  在后面的专栏中,我会商了.NET数组的基础功效。本周,我们对这个主题举行扩大,侧重会商数组内容的分类。Array类供应了Sort办法,这个办法具有各类用处。我从复杂的办法入手下手会商,再以自界说分类停止。
  Sort办法
  利用Array类的静态Sort办法是分类数组内容的最复杂办法。列表A经由过程对一组姓名举行分类,申明怎样使用这个办法。
  它天生了上面的了局,它显现了挪用分类办法前后的姓名列表:
  0.Howard,Ryan
  1.Allen,Ray
  2.Pujols,Albert
  3.Iverson,Allen
  0.Allen,Ray
  1.Howard,Ryan
  2.Iverson,Allen
  3.Pujols,Albert
  上面是对应的VB.NET代码:
  DimxAsInteger
  Dimnames(3)AsString
  names(0)="Howard,Ryan"
  names(1)="Allen,Ray"
  names(2)="Pujols,Albert"
  names(3)="Iverson,Allen"
  Forx=0To(names.Length-1)
  Console.WriteLine(CStr(x)+"."+names(x).ToString())
  Nextx
  Array.Sort(names)
  Forx=0To(names.Length-1)
  Console.WriteLine(CStr(x)+"."+names(x).ToString())
  Nextx
  Array类的Sort办法可以以各类情势对数组内容举行分类。既然你懂得了这个办法的最复杂使用情势,上面给出它的别的一些用处:
  Sort(Array,Array);依据第一个数组中的键对一对一维数组(一个包括键,另外一个包括对应的项目)工具举行分类。
  Sort(Array,IComparable):用指定的Icomparable接口分类一个一维数组中的元素。
  Sort(Array,Array,IComparable):用指定的Icomparable接口依据第一个数组中的键对一对一维数组(一个包括键,另外一个包括对应的项目)工具举行分类。
  Sort(Array,Integer,Integer):对一个一维数组指定出发点与尽头地位(整数值)的某个部分中的元素举行分类。
  Sort(Array,Array,Integer,Integer):依据第一个数组中的键对一对一维数组(一个包括键,另外一个包括对应的项目)工具的某个部分举行分类。
  Sort(Array,Integer,Integer,IComparable):用指定的Icomparable接口对一个一维数组某一部分中的元素举行分类。
  Sort(Array,Array,Integer,Integer,IComparable):用指定的Icomparable接口依据第一个数组中的键对一对一维数组(一个包括键,另外一个包括对应的项目)工具的某个部分举行分类。
  你能够使用Array类的默许举动对全部数组和一个数组的某个部分举行分类;你还能够经由过程一个特别的Icomparable接口指定具体的分类办法。列表B中的例子利用了两个数组,一个数组包括键而另外一个数组包括要分类的响应项目。它和增添键数组的第一个例子不异。
  失掉的了局是依据键数组中的值分类的数组值(第二个数组在挪用Sort办法时指定)。列表C中是对应的VB.NET代码。
  你能够对代码略微举行一些调剂,挪用得当的Sort办法,使它只分类一个工具。上面的代码使用前一个例子,但只对数组中的第二和第三个元素举行分类。
  int[]keys=newint;
  keys=11;
  keys=3;
  keys=8;
  keys=5;
  string[]names=newstring;
  names="Howard,Ryan";
  names="Allen,Ray";
  names="Pujols,Albert";
  names="Iverson,Allen";
  Array.Sort(keys,names,1,2);
  上面是对应的VB.NET代码:
  Dimkeys(3)AsInteger
  keys(0)=11
  keys(1)=3
  keys(2)=8
  keys(3)=5
  Dimnames(3)AsString
  names(0)="Howard,Ryan"
  names(1)="Allen,Ray"
  names(2)="Pujols,Albert"
  names(3)="Iverson,Allen"
  Array.Sort(keys,names,1,2)
  分类自界说工具
  固然复杂的Sort办法非常便利,但你不克不及利用它对自界说数据范例的数组举行主动分类。究竟,你不克不及期望.NET平台懂得一切创建的工具!可是,你仍旧可以利用Icomparer或Icomparable接口申明自界说工具的分类办法。
  这些接口为你供应一个对照工具实例的办法,从而使分类加倍便利。这两个接口的次要分歧在于:在利用IComparable接口时必需把对照办法包含在类中,而利用Icomparer时则不用如许。两个接口的利用细节不在本文的会商局限以内,不外上面我将用IComparable接口对一个自界说类数组举行分类。
  在列表D中,我使用IComparable接口处置分类逻辑和它的类。如代码所示,我创建了一个Person类。注重,它利用IComparable接口并(在分类时)用CompareTo办法来举行对照。
  鄙人一个例子中,创建一个Person数组工具时,又用到这个类。(IComparable接口所必要的)CompareTo办法是对Person类举行分类的关头,它将提交的工具与本身举行对照。接上去,再挪用数组的Sort办法,使用Person类的分类机制,依据数组中每一个工具的第一个称号属性举行个中的项目举行分类。列表E中是所利用且举行了分类的Person工具。列表F中是对应的VB.NET代码,它起首列出了Person类。
  各类选择
  任何数据仿佛都要举行分类。究竟,人们喜好看到数据以逻辑体例显现。.NET的Array类供应了Sort办法,使用它的值或一个独自的关头值数组来简化数组内容的分类历程。别的,你还能够使用Icomparable接口之类的别的.NET功效举行自界说分类。
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。

兰色精灵 发表于 2015-1-20 05:01:45

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

若相依 发表于 2015-1-25 19:43:50

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

灵魂腐蚀 发表于 2015-2-3 18:19:30

提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。

冷月葬花魂 发表于 2015-2-9 04:19:30

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

蒙在股里 发表于 2015-2-26 21:52:57

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

愤怒的大鸟 发表于 2015-3-8 18:12:26

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

只想知道 发表于 2015-3-22 22:09:35

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

小魔女 发表于 2015-3-22 22:09:35

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
页: [1]
查看完整版本: ASP.NET编程:怎样用.NET Array类的Sort办法分类数值...