大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> vb.Net编程简介之三(轉)

vb.Net编程简介之三(轉)

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

制止null传递(propagation)先前本子的vb扶助null传递。null传递的基础是null值运用在表白式中,表白式的截止将是null,比方底下的典型,截止v都将是nulldim vv = 1 + nullv = null + right$("sometext", 1)v = right("sometext", 0)null传递在visual basic.net中将不复被扶助。象上头的语句1+null会爆发一个典型缺点。其余在visual basic 6.0中有两个求左值的因变量:left和left$前者归来值为variant典型而且不妨为空,left$因变量归来值为string典型。在visual basic.net中,惟有一个left因变量,该因变量老是归来string典型值为了使步调兼容visual basic 6.0以及visual basic.net,你须要在代码中介入对null检验和测定的代码,在visual basic.net中,底下的因变量将不复归来null值:chr mid command oct curdir right date rtrim environ space error str hex time lcase trim ltrim ucase 因为数据库中的数据不妨包括null值,以是你须要在步调中对赢得的数据介入代码检验和测定其值能否为null。运用以0为下界的数组visual basic 6.0承诺你运用任何平头数字动作一个数组的上界和下界。同样你也不妨经过redim将一个variant从新设置为数组。为了不妨同.net平台下的其它谈话共同处事,visual basic.net数组必需以0动作下界,并且惟有一个变量事前设置为数组后才不妨运用redim因变量从新设置。固然如许控制了数组设置的精巧性,然而如许不妨在visual basic.net和.net下的其它谈话之间传播数组。底下的典型说领会新的设置数组的牵制:dim a(1 to 10) as integer '缺点:下界必需为0dim vredim v(10) '缺点,在没有设置v为数组前不许运用redimdim b(10) as integer '精确redim b(5) as integer '精确其余,在visual basic 6.0中, dim (0 to 10) as integer设置了包括11各平头的数组,索引从0到10。同样的设置在visual basic.net下创造一个包括10个平头的数组,索引从0到9。鉴于上头的变换,option base 0|1仍旧从visual basic.net中简略了。当你的代码晋级到visual basic.net后,以0为下界的数组不会变换。即使数组下界非0的话,数组会晋级到一个兼容类,如次:dim a(1 to 10) as integer变换为:dim a as object = new vb6.array(gettype(short), 1,10)兼容数组类比当地数组操纵起来要慢很多,同声在步调中运用它也有控制。比方你不许将一个兼容数组类动作参数传播到一个以数组动作参数的因变量,你也不许传播一个兼容类到visual c#大概visual c++类中。鉴于之上因为,你须要在你的visual basic 6.0代码中运用以0为下界的数组,制止运用redim设置数组,制止运用option base 1语句。运用vb恒量而不要运用它们所代办的值在写代码的功夫,尽管运用vb恒量而不要运用它们所代办的值。比方你要在运转时将一个窗口最大化,运用:me.windowstate = vbmaximized 'good: constant name而不要运用:me.windowstyle = 2 'bad: underlying valueme.windowstyle = x 'bad: variable在visual basic.net中,少许属性和恒量的数值爆发了变换;比方true的值由-1变为了1。在你的代码晋级到visual basic.net后,大局部的恒量会机动变动;但是即使你运用的是恒量代办的数值而不是恒量名,那么你就要做洪量的细工变动处事。用户自设置数据典型中的数组和恒定长度字符串为了使visual basic.net数组和数据构造实足兼容visual studio.net,恒定长度字符串在新谈话中不复被扶助。在大普遍情景下者不是题目,由于visual basic.net供给了兼容恒定长度字符串设置的类,那么代码:dim myfixedlengthstring as string * 100晋级后会形成如许:dim myfixedlengthstring as new vb6.fixedlengthstring(100)但是,在数据构造(比方用户自设置数据)中运用恒定长度字符串类大概爆发缺点。由于在用户自设置数据结建立登时类不会被创造。用户自设置数据中的恒定长度数组也会爆发同样的题目。当你的代码晋级后,在代码中的用户自设置数据典型中即使有恒定长度的数组和字符串的话,在设置场所会增添解释指示你在运用用户自设置数据典型前开始对字符串大概数组举行初始化。但是,你不妨在你的visual basic 6.0的用户自设置典型中将恒定长度的字符串设置变换为字符串设置,将恒定长度数组设置变换为未初始化数组来制止晋级爆发后爆发上头的题目。比方:private type mytypemyarray(5) as integermyfixedstring as string * 100end typesub bar()dim myvariable as mytypeend sub晋级后会变为:private type mytypemyarray() as integermyfixedstring as stringend typesub bar()dim myvariable as mytyperedim myvariable.myarray(5) as integermyvariable.myfixedstring = string$(100, " ")end sub avoid legacy features制止运用从原始basic接受的个性,如次的要害字在新本子谈话中将不复展示:defcomputed goto/gosubgosub/returnoption base 0|1varptr, objptr, strptr

热门阅览

最新排行

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