大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> 从VB6到VB.NET的变化综述 (转)

从VB6到VB.NET的变化综述 (转)

时间: 2021-07-31 作者:daque

跟着microsoft .net平台的颁布,visual basic发端变成一种完所有向东西的谈话,简称为vb.net。固然有了少许根天性的变革,开拓者从vb6到vb.net的进修关切仍旧十分高,纵然对于有体味的编制程序职员也是如许。正文中,我将列出visual basic谈话中的变革,并在符合的场合举例证明。这边所列出的大概不实足,然而仍旧囊括了大局部的功效。即使你是一个想要转到vb.net上去的 vb步调员,这篇作品就确定要读一读。 asp.net beta 1本子不妨从http://www.asp.net/免费载入。正文中所计划的少许变革是属于 beta 2本子的,那些 beta 第22中学的新实质在asp.net的beta 1 本子中是失效的,文中都作了证明。 数据典型的变换.net平台为一切扶助谈话供给了大众典型体例,这就表示着一切谈话都必需扶助扶助大众谈话运转功夫情况所强迫的沟通的数据典型,如许就取消了各别谈话之间数据典型的不兼容性。比方,在一个32位的windows平台上,在c++这类谈话中,integer数据典型吞噬4个字节,而在 vb 中则吞噬2个字节。以次是vb.net中与数据典型相关的变革:在 .net下,vb.net 中的integer数据典型也是4个字节。 vb.net没有currency 数据典型,动作包办,它供给了decimal。 vb.net 引入了一种新的数据典型,叫作char。 char数据典型吞噬2个字节,不妨保存unicode 字符。 vb.net 没有variant数据典型。为特出到与variant典型沟通的截止,你不妨运用object数据典型。由于在.net中的十足,囊括原始数据典型,都是一个东西,一个object典型的变量,它不妨指向任何数据典型。 在vb.net中没有恒定长度字符串的观念。 在vb6中,咱们运用type要害字来证明用户自设置构造。vb.net引入了与此手段沟通的构造要害字,语法的其它局部是沟通的: structure mystruct1...end structure 变量证明此刻看看一个大略的vb6例子: dim x,y as integer在这个例子中,vb6 将 x看成variant,把y 看成integer。vb.net矫正了这个证明,它将x 和y都创造成integer。其余,vb.net 还承诺你在证明语句中为变量赋初始值,如次: dim str1 as string="hello"vb.net 还引入了read-only (只读)变量。只读变量不像常数,证明它的功夫不必初始化,然而一旦你给它赋值,就不许再窜改。请看底下的例子:'未初始化dim readonly x as integer '附值x=100'不许再被窜改,所以底下的语句将堕落x=200 数组运用 vb6时,你不妨经过编制程序来设置数组的下限和下限。而在vb.net中,数组的下限老是0,设置数组时是如许的: dim astates(50) as string如许本质创造的元素是 51 个,个中 0是下限,50是下限。提防:在vb.net beta 第11中学,之上语句会创造50个元素,左右限是 0到 49。 变量范畴商量以次 vb6 代码: if x=y thendim z as integer' other code end ifz=100'outside of if ... then block之上代码在vb6中运转得特殊好,由于它没有模块级变量效率范畴。模块级变量爆发在其它高档编制程序谈话中,如c++。在证明模块中设置的变量,如在 if ... then模块中设置的变量,当这个证明模块中断时就会落在范畴除外。如许一来,即使在其设置的if ... then模块除外存取 z,在高档编制程序谈话中就会引导一个缺点。而vb.net与vb6差异,它运用了模块层的变量范畴。 set和let证明在vb6中,你必需运用 set证明为变量调配一个东西例示。出于默许属性的因为,这在vb6 中是必需的。要想报告vb你想给东西自己指定一个变量(与东西的默许属性值差异),你就必需要运用set要害字。比方,在 vb6中: dim x as variantdim strname as string'assign the value of text1.text to strname'(text is the default property of the textbox control in vb6)strname=text1'here we assign the actual textbox object to the variable x'note that we use the set keyword so vb knows we want to assign'to x the object itself instead of the default propertyset x=text1 然而在vb.net中,是不承诺默许属性的(只有是参数化了的属性),所以就不须要运用 set要害字。同样,let要害字也从vb.net 的语法中去掉了。缺点处置visual basic最闭幕合结束构化缺点处置。要害字try、catch和 finally使得缺点处置变大略,也使vb.net与c++或 c#那些谈话不妨并列起来。try ... catch的形式承诺开拓职员将大概引导不同的代码安置在一个try模块中。即使谁人代码真实形成了一个不同(与形成缺点同义),就实行 catch 模块中的代码;这个模块中的代码该当是安排来处置不同的。请提防,为了向后兼容,vb6中旧的缺点处置本领( error resume next及一致的)仍旧遭到扶助的,然而当你用vb.net编写新的运用步调时该当果敢地篡夺不运用那些旧的本领。底下的那些代码片断说领会vb.net的百般缺点处置本领:try...catch...end try 上头的代码不过捕获关系的try模块中辩论代码所引导的不同。vb.net承诺你运用多个catch 模块来处置特出的不同: try...catch e1 as nullpointerexception...catch e2 as exception...end try 除去捕获预先设置的不同,你还不妨创造本人的定制不同类,这个类是从system.exception普通类中接受而来的。你还不妨激活自设置不同,这与vb6中err 东西的raise本领沟通: if myvar < 1000 thenthrow new exception("business logic error")end if 静态本领vb.net 承诺你在类中创造静态本领。静态本领指的是那些不须要开拓职员创造类的例示就能挪用的本领。比方,即使有一个名为 foo的类,个中有一个非静态本领nonstatic()和一个静态本领static(),就不妨如许来挪用 static()本领: foo.static()然而,非静态方规则须要创造类的一个例示,象如许:'create an instance of the foo classdim objfoo as new foo()'execute the nonstatic() methodobjfoo.nonstatic() 要想在一个vb.net 类中创造一个静态本领,只须要给本领设置加上前缀shared要害字。 步调和因变量在默许状况下,vb6中一切的步调参数都是经过援用办法(byref)来传播的,而在vb.net的默许状况下,那些参数是用值办法(byval)来传播的。尽管步调和因变量能否接受参数,当挪用它们的功夫都须要圆括号。vb6中,因变量归来值运用如许的语法:functionname = return_value。在vb.net 中,你不妨运用return要害字以return return_value办法来归来值,也不妨连接运用旧的语法,它们仍旧灵验。属性语法在vb6 中,咱们运用了property get 和property set/let在类中创造属性,它们辨别出此刻独立的步调中: public property get propertyname() as datatype...end propertypublic property let propertyname(value as datatype)...end property在vb.net中,property get 和 property let/set这两个语句被兼并成一个property语句,而不复是两个独立的语句。其余,在property 语句的set局部中,变量value指的是用户给指定属性赋值时输出的谁人值。 public [readonly|writeonly] property propertyname as datatypegetreturn m_varend getsetm_var = valueend setend property 论断vb.net的语义和语法都爆发了少许变革,这边所陈列的都是动作一个asp.net开拓职员将要遇到的最要害的变革。当你用vb.net创造asp.net web页面时,须要铭记的最要害的几点是: 变量不妨被分门别类,不复都是variants。即是说,即使你须要一个integer变量,就该当运用dim i as integer,而不只仅是用dim i。给变量分门别类比无分门别类的变量的本能要好得多。 要铭记,vb.net诉求子步调挪用时在挪用参数范围加圆括号。 这即是说response.write "hello, world!" 会天生缺点,精确的该当是response.write("hello, world!")。 vb.net 不复扶助默许属性,你必需对蓄意从一个东西中存取的属性举行精确地证明。 证明数组时要提防,vb.net中一切数组的下限都是0,下限则是由你规则的数字。 负担编纂:小李(lisz@staff.ccidnet.com)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.