|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有专家说:net网页编程不是跨平台,net网页编程就是平台,这很好的定义了net网页编程的特点。有了net网页编程,你只需要等待net网页编程平台在新平台上移植。这还不错吧!只是,net网页编程不是一个平台,而是多个平台。你需要在这个net网页编程平台移植到另一个net网页编程平台。像C#4一样,VB10并没有到场过量反动性的特征。到今朝为止,一切的特征都是可用的,仅仅是利用起来不太便利。
最值得等候的特征大概就是打消续行符了。固然存在一些二义情形,但年夜多半情形下仍是不必要利用下划线的。
接上去就是隐式的数组初始化了。VB9增添了数组初始化;但不幸的是其语法太冗杂了。即便利用范例揣度,仍是必要过剩的范例信息。- DimvectorAAsInteger()=NewInteger(){1,2,3,4,5}DimvectorB=NewInteger(){1,2,3,4,5}
复制代码 VisualBasic10为数组初始化增添了范例揣度。这类语法是经由过程判别与每一个参数最靠近的范例来完成的。假如是System.Object,编译器就会收回一个告诫。除向量之外,该语法还撑持矩阵和不划定规矩数组。- Dimmatrix={{1,2,3},{4,5,6}}Dimjagged={({1,2,3}),({4,5}),({6})}
复制代码 汇合也能够利用该特征举行初始化。经由过程利用From关头字,初始化列表中的每一个条目城市被加到新创立的对象中。- DimlistAsNewList(OfInteger)From{1,2,3,4}DimdictionaryAsNewDictionary(OfString,Integer)From{{"Tom",80},{"Frank",85}}
复制代码 只需汇合具有一个名为Add的办法,该办法就能够经由过程最右侧的参数(恣意数目的参数)完成初始化。假如不存在这个办法,我么能够扩大办法的情势将其到场。- DimcustomersAsNewList(OfCustomer)From{{"Tom","T","Jones"},{"Frank","M","Burns"}}<Extension()>SubAdd(ByVallistAsList(OfCustomer),ByValfirstNameAsString,ByValmiddleInitialAsString,ByVallastNameAsString)list.Add(NewCustomer(firstName,middleInitial,lastName))EndSub
复制代码 VB10还会对函数与子历程撑持单行与多行lambda。多行代办署理的语法枚举以下:- listA.ForEach(Sub(id)Dimc=GetCustomer(id)Ifc.UnpaidBill>0Thenc.Send(Invoice)EndSub)
复制代码 经由过程利用现有的语法到场了主动属性。由于它看起来很像私有成员变量的语法,以是其实不倡议利用后者。一个可选的初始化枚举以下:- PublicPropertyScoreAsInteger=5
复制代码 C#并非独一一个撑持可选参数的言语。VB已撑持该特征了,同时另有一个其撑持的申明。出格地,界说为Nullable(OfT)的任何范例都不同意是可选的。VB10将办理该成绩,最初它还撑持将存储历程挪用一对一的映照到VB包装函数上。
最初就是对协变和逆变的撑持了。我们在文章:聚焦C#特征——协变和逆变中谈到了该特征。
检察英文原文:VisualBasic10:RoundingtheEdges
来自:http://www.infoq.com/cn/news/2008/11/VB10
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。 |
|