刚刚接触VB.NET时,心中一直有一个问号——VB和VB.NET究竟有什么区别呢?经过初步学习后,我觉得可以通过以下五个VB.NET的主要特点来了解VB和VB.NET的区别。
一、VB.NET有两种新的窗体方式---Windows窗体和Web窗体.
VB.NET允许创建不同类型的应用程序,例如,可以创建ASP.NET和ASP.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区块来区别。
'截获错误
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
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则通过使用了CLR(Common 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支持混合语言编程的基本原理。
以上就是我暂时了解到的,关于VB和VB.NET的区别之处,希望读者多多指点补充。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。