来一篇关于NET的巧用DataColumn的Expression属性复制列
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。之前在复制DataTable某列的值的时分,老是轮回DataTable的一切行,逐行逐行的赋值,以下代码://代码中假定dt中已存在了列A
DataTabledt=GetDataTable();
DataColumncol=newDataColumn();
col.ColumnName="B";
dt.Columns.Add(col);
foreach(DataRowdrindt.Rows)
{
dr["B"]=dr["A"];
}
一向偶尔的时机发然了DataColumn的Expression属性,检察了Expression属性的感化了后,发明复制列的功效就简化多了,以下代码:
//代码中假定dt中已存在了列A
DataTabledt=GetDataTable();
DataColumncol=newDataColumn();
col.ColumnName="B";
col.Expression="A";
col.DataType=dt.Columns["A"].DataType;
dt.Columns.Add(col);
实在Expression的属性的功效远远不至这个,它能够做统计列,排行列,也能够做行考证,它撑持的函数也是对照的丰厚,人人有乐趣好好上彀查查吧。我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦! 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
页:
[1]