ASP.NET网页编程之LINQ与静态范例仓酷云
另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。C#3的最年夜特性就是LINQ手艺。跟着C#4的到来,看起来静态范例仿佛将要年夜出风头了。但你可让它们一同利用吗?LINQ的一项中心功效就是扩大办法。扩大办法同意通用函数能够增加到像IEnumerable那样的接口中往。扩大办法本色上是一项编译器技能,即便用一切导进的当地定名空间分离变量的静态范例,来决意符合的函数挪用。关于静态变量,该变量范例直到运转时为止都是未知的。不外到谁人时分,关于导进谁人定名空间的信息早已不复存在。
匿名函数关于LINQ一样主要。匿名函数在C#中被静态地编译为实在的函数,利用高低文来断定要表露甚么参数范例。没有已知的范例,该编译器不能不把范例对象作为参数表露出来,如许有些事变它一般就做不了。
这两种范围不是不克不及克制。无任何来由注释编译器为何不克不及捕捉编译时高低文,断定哪一个扩大办法必要绑定。一样地,它可表露范例对象的匿名函数,把函数和属性挪用复原为静态挪用。可是良多言语开展迟缓,依据MadsTorgersen的说法,其实不企图在C#4中排除这些限定。
在C#的将来站点上,你能够找到更多信息。
检察英文原文:LINQandDynamicTyping
本文出自:http://www.infoq.com/cn/news/2008/11/CSharp-LINQ-DLR
我有个同学,他是搞net网页编程的,他给我说“net网页编程不是效率低,而是速度慢。”,我不是搞net网页编程的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了? 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
页:
[1]