微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB与VB.NET的区别

刚刚接触VB.NET时,心中一直有一个问号——VB和VB.NET究竟有什么区别呢?经过初步学习后,我觉得可以通过以下五个VB.NET的主要特点来了解VBVB.NET的区别。


一、VB.NET有两种新的窗体方式---Windows窗体和Web窗体.

VB.NET允许创建不同类型的应用程序,例如,可以创建ASP.NETASP.NET Web服务应用程序,还允许创建控制台应用程序和作为桌面服务运行的应用程序。

而与此不同的VB,只能创建Windows窗体。


二、VB.NET可以通过新的ADO.NET访问离线的数据源

在访问数据库上,两者还是有比较大的区别的。在具体编程中,窗体FORM往往都包含数据库访问控件,VB6.0的是ADO控件,VB.NET的则是ADO.NET控件。那么ADO和ADO.NET区别又有什么区别呢?

(1)、一些ADO中常见的类型比如RecordSet在ADO.NET中已经没有了,而且在ADO.NET中也新增了许多在传统ADO中找不到的直接对应的新类型(如数据适配器);

(2)、传统的ADO主要针对紧密连接的客户端/服务器系统,而ADO.NET考虑到了断开式连接应用并且引进了DataSet,它代表任意数量的关联表每个表都包含了行和列的集合的本地副本,使用DataSet的话,在断开数据库连接的情况下调用程序集处理和更细它的内容,然后使用关联的数据适配器将修改后的数据提交回数据库

(3)、传统的ADO和ADO.NET的一个显著区别是后者全面支持XML数据呈现。其实从数据库中获得的数据认被序列化为XML,假设XMl通过标准的HTTP在层之间传输,ADO.NET就能突破防火墙的限制。

(4)、两者之间最根本的区别在于ADO.NET是托管代码库。


三、VB.NET具备了面向对象的所有特征,包括类、接口、封装、继承和多态性等;

学习VB6.0时,用户可以象建立一个新的窗体一样建立一个新的类,并把它作为一个新的对象.但还只能称是半面向对象的编程语言。而VB.NET是真正意义上的完全面向对象的编程语言。VB.NET中,几乎处理所有事情都与对象有关,它也充分体现了面向对象的三个特征:封装、继承与多态。


四、VB.NET支持结构化异常处理和多线程;

关于错误处理,VB中使用On Error GoTo,而VB.NET则使用了Try...Catch...Finally区块来区别。

(1)VB错误处理代码展示:

'截获错误
On Error GoTo Err1
 
'A为整型变量赋值40000会溢出
A = 40000  '这时会跳到Err1处执行错误处理
 
'给A重新赋值并消息提示A
A = 30000
MsgBox A

Exit Sub
 
'错误处理
Err1:
MsgBox"出错了!" & vbCrLf & "错误编号:" & Err.Number &" 错误描述:" & Err.Description
 
'返回出错语句的下一句继续执行余下的代码
Resume Next

(2)VB.NET错误处理代码展示:

Try 
Dim i As Integer =0 
Dim iresult AsInteger 
 
iresult = 1 /i 
 
//把 ex 作为异常捕获 
MessageBox.Show(ex.ToString()) 
 
Finally 
MessageBox.Show("finally区块被执行") 
//Try结束


在处理并发问题和多任务管理方面,VB6.0支持多个单线程单元,不过它并不支持一个自由线程的模型,多线程模式的工作原理和编程机制对于VB6.0来说完全不适用。而VB.NET通过使用了CLRCommon Language Runtime),从而拥有了许多新特性,其中一个就是创建自由线程的应用。它通过系统的System.Threading类直接创建多线程应用程序。


五、VB.NET支持与其他.NET Framework语言的集成。

.NET Framework中设计了一个通用语言系统(Common Language System,CLS),定义了很多标准的数据类型,.NETFramework支持的所有高级语言都必须同时支持该系统对数据类型的定义。

在编译成MSIL代码的同时,各种高级语言自身的数据类型都被转换成了CLS系统中的标准数据类型,比如,VB.NET中定义的Integer数据类型被转换成了system.int32数据类型,C#中的int类型也被转换成了system.int32数据类型。这样不同语言的变量就可以相互交换信息了,这就是.NETFramework支持混合语言编程的基本原理。

以上就是我暂时了解到的,关于VBVB.NET的区别之处,希望读者多多指点补充。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐