vb.net特性类 vbnet getobject( 七 )


可以用下面两种方式声明数组: Dim ArrWeekDays(6) As IntegerDim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6} ReDim语句 。在VB6.0中 , ReDim用于初始化动态数组 。在VB.NET中你不能把它当作声明用 。ReDim只能用于改变数组长度,不过不能改变数组维度 。
Variant对阵ObjectVB6.0中的Variant数据类型能存储任意类型变量,VB.NET中Object具备相同能力 。
算术操作符VB.NET支持类似C++的快捷方式 。下面的表格显示了常规操作与快捷操作的不同之处 。快捷方式也可用于*、/、|、等操作符 。
操作符常规语法快捷方式加法A = A+5A +=5 减法A = A – 5A -+ 5固定长度字符串
在VB6.0中,可以在声明字符串时指定其长度 。VB.NET不支持固定长度字符串 。
布尔操作符VB6.0中的And、Or或是Xor语句是按位操作符 。而在VB.NET中,它们是布尔操作符 。执行这些操作将返回true或false 。VB.NET引入新操作符来完成按位操作 。
操作符描述BitAnd按位AndBitOr按位OrBitXor按位XorBitNot按位Not结构与自定义类型在VB6.0中 , 你使用Type…End Type语句块创建结构或自定义类型 。例如:
Type StdRec
StdId As Integer
StdName As String End Type
VB.NET引入新的语法:Structure 。Type…End Type不再被支持 。Structure…End Structure与C++用法相同 。可以指定结构中每个元素的可访问域,如Public、Protected、Friend、Protected Friend、Private等 。例如:
Structure StdRec
Public StdId As Integer Public StdName As String
Private StdInternal As String End StructureVB.NET中的Structures就像类一样 , 也可以拥有方法和属性 。New和Nothing关键字VB6.0中,AS New和Nothing关键字用于声明一个对象并初始化它 。VB.NET不支持隐式创建对象 。如前所言 , 甚至连数据类型都是对象 。你可以采用以下两种方法创建数据类型或对象: Dim i As Integer Dim i As Integer = New Integer() // Do something if i = Nothing Then End If 不支持Set语句VB6.0使用Set语句指派对象 。例如:Set myObj = new MyObjectSet a = b在VB.NET中,不需要使用Set指派对象 。例如:myObj = new MyObj()a = b过程(procedure)语法的变化在VB.NET中过程语法有了很多变化 。例如类似C++的过程调用方式、ByVal(传值)为默认类型、Optional关键字、return语句等等 。类似C++的过程调用方式 VB6.0允许不用加圆括号调用过程(sub) 。不过,用Call语句调用函数或sub时,一定要使用圆括号 。例如:Dim I as IntegerCall EvaluateData(2, i) EvaluateData 2, i 在VB.NET中 , 所有的方法调用都需要圆括号 , 而Call语句则是可选的 。ByVal是默认参数类型在VB6.0中,在调用函数或sub时ByRef(传址)是默认类型 。那意味着所有改变将反映到传入的变量 。VB.NET改变了这种方式 。现在,默认的参数类型是ByVal(传值) 。Optional关键字VB6.0使用Optional关键字可用来让用户决定传入一个默认值,之后在调用IsMissing函数判断参数是否有效 。而在VB.NET中 , 每个可选参数必须声明其默认值,无需调用IsMissing函数 。例如:Sub MyMethod(Optional ByVal i As Integer = 3)
Return语句VB.NET的Return语句与C++相似 。使用Return语句把控制权从过程返还给调用者 。在VB6.0中,Return语句与GoSub语句一起使用 。VB.NET不再支持GoSub语句 。流程控制的改变下面是VB.NET对流程控制语句的修改:1. GoSub不再受到支持 。2. Call、Function和Sub语句均可用于调用过程 。3. On ... GoSub和On ... GoTo语句不再受支持 。可以使用Select Case语句来替代 。4. While ... Wend语句现在改为While…End While语句 。不再支持Wend关键字 。小结 Visual Basic .NET是.NET版本的Visual Basic , 已经从根本发生了变化!通过本文你了解到VB6.0和VB.NET的区别是很大的,可以说根本就是两种不同的语言,因为它们的内核发生了变化,VB6.0是基于COM而vb.net是基于.net框架的 , 因为这个变化,所以在构造类时也发生了根本性的变化 。

推荐阅读