VB与VB.net的区别

概述:

VB.NET是基于微软.NET Framework之上的面向对象的编程语言。其在调试时是以解释型语言方式运作,而输出为EXE程序是是以编译型语言方式运作。可以看作是VB在.NetFramework平台上的升级版本,增强了对面向对象的支持

一、数据类型:


二、变量的声明:

在VB6.0中变量的声明有许多的限制,例如:不能同行声明多个变量,如果一定要在一行中声明多个变量,就要指明每个变量的类型,否则被认为Variant类型

dim a1,a2 as Integer
Dim a3 as integer,a4 as integer
a1是Variant类型,a2是integer类型,a3,a4都是integer

VB.net支持同行声明多个变量

dim a1,a2,a3 as integer
a1,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 integer
Vb.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开发、组件创建方面还有很大的区别,个人对这方面理解地不太深,所以暂时先不展开介绍,如果还有那些方面没有提及到,还请多多补充。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...