ASP.NET编程:C#特征聚焦:协变和逆变仓酷云
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。为了婚配Java及撑持J#,.NET数组老是一个协变变量。不幸的是,如许做是一种不平安的体例,在数组中存储值的时分都必要举行运转时反省。关于.NET2和泛型,协变和逆变变异都不克不及撑持了。.NET4将在接口和托付上撑持平安的协变和逆变。为了完成这类功效,在接口上的范例应当被标志为“in”或“out”润色符。假如标志为out,那末接口就撑持协变,而且给定的范例只能体现为一个前往范例或只读属性。假如标志为in,那末范例只能体现为一个参数或只写属性。
这个功效只对援用范例无效,在布局上不同意变异。经由过程援用传送的参数一样也不同意。可被标志为撑持变异的次要接口和托付有,IEnumerable、IQueryable、Func和Action等。
更多关于这个功效的信息能够扫瞄我们的文章《在.NET泛型中协变和逆变》和EricLippert的Co-andcontra-variance:howdoIconvertaList(OfApple)intoaList(OfFruit)。
检察英文原文:C#FeatureFocus:Co-andContra-variance
本文来自:http://www.infoq.com/cn/news/2008/11/CSharp-Variance
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
页:
[1]