-
【VB.NET】浅谈VB与VB.NET的关系
引言
Visual Basic.NET是基于微软.NET Framework之上的面向对象的编程语言。可以看作是Visual Basic在.NET Framework平台上的升级版本,增强了对面向对象的支持
需要注意的是,VB.NET需要在.NET Framework平台上才能执行
简介
在我看来,VB.NET除了在语法上还保留VB的特性外,其他很多方面,都有很大的不同。或许是因为有这些不同点,才使得VB.NET的功能更强大,更有生命力,同时也为VB程序员转型为VB.NET程序员带来了困难。因为VB.NET提出了很多新的功能、概念和观点,掌握VB.NET不仅要掌握语法,还需要理解并运用这些新的功能、概念和观点。当然也需要掌握.Net框架,理解CLR
一、数据类型
二、变量声明
在VB中,变量声明有很多限制,其中之一就是不能同行声明多个变量。如果一定要在一行中声明多个变量,就一定要指明每个变量的类型,否则将被默认为Variant类型。第一行的a1是Variant类型,a2是Integer类型。第二行的两个变量都是Integer类型。
Dim a1, a2 As Integer
Dim a3 As Integer, a4 As Integer
在VB中不能同时声明和初始化变量,而VB.NET则支持这个特性。VB.NET支持同行声明多个变量,如下:
Dim a1, a2, a3 As Integer
三、数组
VB.NET对数组做了明显的改动。在VB.NET中,需要格外注意数组范围问题。VB默认数组下界为0,所以数组中的元素数量与数组上界值加1。下面的数组界限从A(0)到A(10),共有11个元素:
Dim A(10) As Single
四、布尔操作符
VB中的And、Or或者是Xor语句是按位操作符。而在VB.NET中,它们是布尔操作符。执行这些操作将返回true或false。VB.NET引入新操作符来完成按位操作
五、不支持Set语句
VB中使用Set语句指派对象,如下:
Set myObj = new MyObject
Set a = b
在VB.NET中,不需要使用Set指派对象。如下:
myObj = new MyObj()
a = b
六、new和nothing关键字
VB中,AS、New和Nothing关键字用于声明一个对象并初始化它。VB.NET不支持隐式创建对象
七、数据访问
不同点主要表现在:数据访问技术、数据访问具体实现方法和数据绑定上的不同。
在数据访问技术上,VB 6.0是通过ADO(Active X Data Object,即:Active X数据对象)来实现对数据库访问的。同时为了保证对早期版本的兼容,也提供RDO(远程数据对象)和DAO(数据访问对象)二种数据访问技术。在 VB.NET中是使用ADO.NET来访问数据库,ADO.NET是.NET框架的一部分,其对应的类库是.Net FrameWork SDK的真子集。ADO和ADO.NET这两种技术在概念、功能和实现上都有许多差异。由于篇幅所限,这里就不一一介绍了。其实在VB.NET中也可以使用ADO来访问数据库,但ADO在VB.NET中是以COM组件的形式出现的,通过添加引用才可以在VB.NET中使用。添加引用的过程,其实就是对COM组件互操作。经过互操作后的COM组件,已经并非先前意义上的COM组件,而是转变成可供VB.NET直接使用的.Net类库。
在数据访问的具体实现方法上,VB 6.0实现数据访问主要是两种方法:其一是在程序设计阶段,可通过把数据源绑定到ADODC控件或使用数据环境;其二在运行时,可以通过编程方式创建记录集RecordSet对象并与记录集对象交换数据。同样在VB.NET中实现数据访问的方法主要也是二种:其一是在程序设计阶段,通过创建、配置数据适配器DataAdapter和生成数据集DataSet;其二在运行中,通过编程方式动态创建、配置数据适配器和创建、生成数据集。
在数据绑定(Data Bind)上,在VB 6.0中实现数据绑定通过设置控件的下列属性来实现:DataChanged、DataField、DataFormat、DataMember 和 DataSource。通常是把控件的显示属性绑定到数据源中的相应字段。在VB.NET中,数据绑定的应用范围可广泛得多,VB.NET中可以将任何控件的任何属性绑定到包含数据的任何结构中。
结语
以上就是对VB与VB.NET做的一个小小的对比。VB与VB.NET虽然有很多相似的地方,但是仔细看看还是有很大的不同的。
————————————————
版权声明:本文为CSDN博主「时光无声_l」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuziteng0228/article/details/55252762
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数