概述:
VB.NET是基于微软.NET Framework之上的面向对象的编程语言。其在调试时是以解释型语言方式运作,而输出为EXE程序是是以编译型语言方式运作。可以看作是VB在.NetFramework平台上的升级版本,增强了对面向对象的支持。
一、数据类型:
二、变量的声明:
在VB6.0中变量的声明有许多的限制,例如:不能同行声明多个变量,如果一定要在一行中声明多个变量,就要指明每个变量的类型,否则被默认为Variant类型
dim a1,a2 as Integer Dim a3 as integer,a4 as integera1是Variant类型,a2是integer类型,a3,a4都是integer
VB.net支持同行声明多个变量
dim a1,a2,a3 as integera1,a2,a3都是integer类型
另外vb6.0不支持初始化变量,而vb.net支持
Dim name as string=“Mahesh”
三、数组范围的区别
Vb6.0默认数组下界为0,故数组中元素数量等于数组上界值加一。
Dim A(10) as integer从A(0)到A(10)共有11个元素,另外可以使用optionbase 改变下界值为1.
Vb.net中,下界值为0,不支持optionbase
Dim A(10)as integer只包含10个元素从A(0)到A(9)
Vb6.0中可以指定固定长度的数组
Dim ArrWeekDays(0 to 6)as integerVb.net不支持固定长度数组
四、操作符
And 、or 或Xor语句在vb6.0中是按位操作符,而在vb.net中是布尔操作符,执行这些操作将返回true或false。Vb.net引入新操作符来完成按位操作。
五、类成员访问域
除了Vb6.0 原有的public、private,Vb.net引入了新关键字 Protected、Friend、Protected Friend
六、Set语句
Vb6.0使用set语句指派对象
<span style="font-size:18px;">Set myobj = new Myobject Seta=b</span>
在vb.net中不需要set指派对象
Myobj=newMyobj() a=b
七、流程控制语句的改变
在vb6.0中,return语句与gosub 语句一起使用
Vb.net:
1、不再支持go sub语句。
2、Call、Function和Sub语句均可用于调用过程
3、On…GoSub和On…Goto语句不再受支持,可以使用select case 语句代替
4、While…Wend语句改为while… endwhile 不再支持wend关键字
八、错误处理
Vb6.0
OnError Goto和On Error Resume Next这些别称为非结构化异常处理
Vb.net 采用结构化异常处理机制 Try…catch…Finally
Try '可能导致异常的代码 Catch '当异常发生时处理异常的代码 Finally '清理现场 End Try
九、面向对象
面向对象是VB和VB.net最根本的区别,VB.net完全面向对象的编程语句,具有抽象、封装、多态、继承、重载、接口共享成员构造器这些特性,而vb6.0做不到,对于面向对象的具体在这就不一一介绍了。
十、其他
VB和VB.net在数据访问、web开发、组件创建方面还有很大的区别,个人对这方面理解地不太深,所以暂时先不展开介绍,如果还有那些方面没有提及到,还请多多补充。