vb.net教程https://www.xin3721.com/eschool/vbnetxin3721/

现在随着VB.NET的发展,大部分人都放弃使用VB6.0而选择VB.NET,下面我们就来研究一下VB6.0和VB.NET的区别。VB.NET是微软公司在2002年推出的一种开发基于.Net平台应用程序的开发语言,也是微软公司极力推荐的一种开发.Net平台应用程序的开发语言。首先还是让我们来简单了解一下VB.NET和其前一个版本,也是目前世界上拥有最多使用者的开发语言--VB 6.0的主要区别。

VB6.0和VB.NET的主要区别简介:
虽然说VB.NET是VB 6.0的后继版本,但在我看来VB.NET除了在语法上还保留VB6.0原有的踪影以外,因为二者几乎在90%以上保持相似或相同。但在其他很多方面,VB.NET都和VB6.0截然不同。也许正是这些不同点,才使得VB.NET功能更强大,更有生命力,但同样也为VB6.0程序员转型为VB.NET程序员带来了困难。因为VB.NET提出了很多新的功能、概念和观点,掌握VB.NET不仅要掌握语法,还需要理解并运用这些新的功能、概念和观点。当然也需要掌握.Net框架,理解CLR(CommonLanguage Runtime,通用语言进行时)。

一、VB6.0面向对象内容:

二、VB.NET的类别:

三、数据类型的区别:

四、变量声明的区别:
在VB6.0中,变量声明有许多限制。其中之一就是不能同行声明多个变量。如果一定要在一行中声明多个变量,就一定得指明每个变量的类型,否则将被默认为Variant类型。

1.    Dim a1, a2 As Integer  
2.    Dim a3 As Integer, a4 As Integer

第一行中的a1是Variant类型,a2是Integer类型。第二行中两个变量都是Integer类型。

VB.NET支持同行声明多个变量,举例如下:

1.    Dim a1, a2, a3 As Integer 
变量初始化是另一个问题。在VB6.0中不能同时声明和初始化变量,而VB.NET则支持这个特性
VB.NET支持同行声明多个变量,举例如下:

1.    Dim a1, a2, a3 As Integer

变量初始化是另一个问题。在VB6.0中不能同时声明和初始化变量,而VB.NET则支持这个特性。

五、数组的区别:

VB.NET对数组作了明显的改动。在VB.NET中,你需要格外留意数组范围问题。VB6.0默认数组下界为0,故数组中的元素数量等与数组上界值加一。下面的数组界限从A(0)到A(10),共有11个元素:

1.    Dim A(10) As Single 
可以使用OptionBase改变下界值为1。在VB.NET中,数组和C++一样,下界值为0,不支持Option Base。

六、布尔操作符

VB6.0中的And、Or或是Xor语句是按位操作符。而在VB.NET中,它们是布尔操作符。执行这些操作将返回true或false。VB.NET引入新操作符来完成按位操作。

七、不支持Set语句

VB6.0使用Set语句指派对象。例如:

1.    Set myObj = new MyObject  
2.    Set a = b  
在VB.NET中,不需要使用Set指派对象。例如:

1.    myObj = new MyObj()  
2.    a = b

八、new和nothing关键字

VB6.0中,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中可以将任何控件的任何属性绑定到包含数据的任何结构中。

十、 Web开发:

VB是使用Active Server Page(简称ASP)来创建在 Web应用程序。在ASP中,编写Web页面并非纯正的VB语言,而是VB脚本语言--VBScript。在VB.NET中是使用ASP.NET技术来编写Web页面。在ASP.NET中使用的也不再是脚本语言,而是真正意义编程语言,其中就可以是VB.NET。开发过ASP页面的朋友都清楚,虽然编写ASP页面对开发工具要求很低,但由于其是面向过程式开发,所以稍微复杂一点的ASP代码都显得杂乱无章,这都给程序设计、调试、修改带来了麻烦。而VB.NET是建立在新的框架结构上,VB.NET完全支持Web编程。凭借ASP.NET的Web 应用程序、XML Web services等等基于Web上的功能,使得VB.NET开发Web 页面与开发Windows编程很相似,Web页面代码也不显得有条有理了。

十一、 组件创建:

在使用VB 6.0和VB.NET编写应用程序时,虽然都可以通过从工具箱中选择组件,通过拖入方式在应用程序中加入组件,但二者在实现机理上却存在根本不同。在VB 6.0中,应用程序中创建的组件全部是COM组件,即可在COM应用程序中使用的ActiveX控件、ActiveX 类型的DLL 和ActiveX类型的EXE。而在VB.NET中,向窗体中拖入的组件,都是基于继承,从.Net框架提供的SDK中相应的类继承,经过实例化后,通过添加功能才把组件加入到设计窗体中。这些过程都可以在VB.NET的源代码中找到。VB.NET中使用的每一个组件都是从Component或Control基类派生出来的。

当然VB6.0和VB.NET之间还存在很多差别,如:VB 6.0 只提供单线程模式,并不支持多线程。而在VB.NET全面支持多线程。并且在VB.NET中还增加了结构化异常处理等新的功能。

以上是我简要分析VB6.0和VB.NET区别,如有异议,还请斧正。

————————————————
版权声明:本文为CSDN博主「邢金聪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

vb 和vb.net的区别相关推荐

  1. VB与VB.NET的区别

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

  2. VB和VB.NET的大致区别

    Visual Basic .NET是Microsoft Visual Studio .NET套件中主要组成部分之一..NET版本的Visual Basic增加了更多特性,而且演化为完全面向对象(就像C ...

  3. VB与VB.NET区别

    相似 当你对一件事情好奇的时候就说明你的求知欲是你最旺盛的时候,也是你效率最高的时候,为啥写这样一篇博客,因为被欺骗的太痛苦了,告诉我VB与VB.NET很相似没有什么难的,然后我就愉快的学习去了,当我 ...

  4. 计算机vb和vf编程有什么区别,C、c++、Java、VB和VF之间的区别.doc

    C.c.Java.VB和VF之间的区别 葛车续士煤擅绒佛椿署桂卡楚感徐虑棠送彤视显峦托伏净陌钥忻拢殿坍绵卸煞帚袋痊侧况局蟹涤患闷瓶般梆休碴市寅稗对齐寒滓手拔苞垦谈塑似骤既融吼甜肝炬豌等臼笔牙瑟凯馅号珠 ...

  5. 【DONET学习笔记】C#与VB.NET除法运算的区别

    我是一名非计算科班出身的小白,爱好编程.从最初的VB.VBA到VB.NET,再到C#数据库等,由于没有扎实的理论基础,踩了很多坑.以下记录下关于除法运算的问题. 一.VB的除法运算 在除法运算方面,V ...

  6. vb和vb.net事件机制

    学习java事件前,回顾了下vb6和vb.net的事件机制,总结在这里,供对比用. 事件是面对对象中对象间通信的方法.事件发生者(又叫事件源)发生一个事件时,通过发送一条消息,给事件接受者(事件处理者 ...

  7. VB和VB.net环境下链接Access、SQL数据库的方法及技巧(Access篇)

    ACCESS数据库: VB环境下 方法一:用代码链接 步骤一: 在 工程引用Microsoft ActiveX Data Objects 2.8 Library '2.5 2.6 2.7 2.8 随你 ...

  8. 酷!用VB或VB.NET开发S60,PPC,PALM等各种智能手机/PDA的应用程序

    [注:阿赖原作,转贴务必指出原文链接出处] 关键字:visual basic 6 / visual basic .net手机编程.智能手机 PDA pocket pc, palm os, sybian ...

  9. VB.net和c#的区别!

    在研究部分SAP bone SDK源代码例子,都是使用vb.net开发的.但是我想使用c#来开发,所以来翻译一下. 都是.net的程式,很多地方几乎可以copy代码. 但是还有些问题.感觉到二者的差异 ...

最新文章

  1. IAR生产HEX文件
  2. [转帖]在SQL SERVER中实现RSA加密算法
  3. 使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇
  4. Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程
  5. 福建省高职单招分数怎么计算机,2019福建高职单招切线 高职招考分数线是多少...
  6. [MathType需要安装新版的MT EXtra字体]解决方法
  7. DRF parser请求流程
  8. javascript:document.all document.getElementsByName
  9. javascript基础知识系列:eval()
  10. proj4经纬度bl转换xy_分享proj4js中经纬度和兰伯特投影的转换代码
  11. 神战奇迹私服进游戏选择服务器显示数字,最新mu手游奇迹sf发布
  12. 霍夫丁------霍夫丁不等式
  13. 新东方雅思词汇(List 41 ~ List 45)
  14. Capstone 专注HDMI转VGA DP转VGA DP转HDMI DP转LVDS TYPEC转HDMI拓展方案+设计PCB板图
  15. 记一次golang memory leak的解决过程
  16. 单片机蓝桥杯——PWM呼吸灯
  17. Linux tar(打包,解打包)命令
  18. OSPF 理论一(热爱自己 热爱生活)
  19. 网站卡其cdn后不能访问_关于网站使用CDN后无法登录的解决办法
  20. android声音录制音量太小,为什么总是感觉手机音量太小?跟我这样设置,声音瞬间大上许多...

热门文章

  1. 面渣逆袭:计算机网络六十二问,三万字图文详解!速收藏!
  2. java获取当前时间的小时
  3. Android OpenCV(三十二):霍夫直线检测
  4. 移动出手了!推出老用户专享“特权”,携号转网用户却要想清楚
  5. 信号检测与估计理论_论文解读 | 利用脑功能连接实现疲劳驾驶检测
  6. python打印古诗_python打印古诗_python教程:利用python基础知识取出对应诗句
  7. mysql数据库复合索引
  8. 【项目实战】正确辨析蓝绿部署、金丝雀发布(灰度发布)、滚动发布、A/B测试
  9. linux 查询文件大小
  10. (大厂必备)厂长熬夜爆肝万字之多线程高并发JUC编程(二)⭐学妹已收藏