浅析VB.NET语言与VB语言对比

开发 后端
这里介绍VB.NET语言,对比了VB6中一些熟悉的语法形式及其在VB.NET语法中类似功能最接近的语法形式。

VB.NET有很多值得学习的地方,这里我们主要介绍VB.NET语法,包括介绍数据类型等方面。很久以来,VB因为缺乏完善的面向对象支持、缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑。VB.NET将彻底改变这种情况。然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行。

下面总结了VB.NET语言在语法上的改动之处。并没有完全列出所有改动之处,但列出了最重要的一些改动。对比了VB6中一些熟悉的语法形式及其在VB.NET语法中类似功能最接近的语法形式。

VB.NET语法对比

旧语法 新语法 说明窗体装载事件,类初始化事件 Sub New procedure Sub New称为构造方法(Constructor),它可以有参数。
Property Let Property Set Let关键词不再有效。
Currency Decimal 在VB6中,Decimal是Variant的一种子类型,但在.NET中它是一种固有的数据类型。.NET不再支持Currency数据类型。
Variant Object VB.NET的Object数据类型兼有VB6 Object类型和Variant类型的能力。
Debug.Print Debug.Write Debug.WriteLine 这个变化只是名称上的简单变化:从Print变为Write和WriteLine。
Wend End While VB.NET推荐使用While循环而不是Do循环。

为了让VB的数据类型和其他.NET语言的数据类型相匹配,Microsoft修改了整数类数据类型的表示方法,并加入了一个新的数据类型。这些改动对于进行外部调用的方法尤其重要(比如API调用)。例如,如果被调用函数需要一个32位的整数参数,则在VB6中它应该声明为Long,在VB.NET中应该声明为Integer。

和整数有关的数据类型

长度 VB6以及更早版本中的名称 VB.NET中的名称

  1. 16 bit Integer Short  
  2. 32 bit Long Integer  
  3. 64 bit (无) Long  

在VB.NET语法中,Microsoft减少了许多原先用于VB6的关键词,代之以“框架类”。之所以要进行这种替换,是因为框架类中的功能对所有的.NET语言都有效。下表列出了部分受影响的关键词。被替换的关键词

VB关键词 VB.NET名称空间中的位置 方法/属性

  1. Circle System.Drawing.Graphics DrawEllipse  
  2. Line System.Drawing.Graphics DrawLine  
  3. Atn System.Math Atan  
  4. Sgn System.Math Sign  
  5. Sqr System.Math Sqrt  
  6. Rnd Microsoft.VisualBasic.Compatibility.VB6 Rnd  
  7. Round Microsoft.VisualBasic.Compatibility.VB6 Round  
  8. Lset System.String PadRight  
  9. Rset System.String PadLeft  
  10. DoEvents System.Winforms.Application DoEvents  
  11. VarType System.Object GetType
    (返回类Type的对象,其中包含了可提取出信息的属性)  

【编辑推荐】

  1. 深入分析VB.NET条件语句中的两类
  2. 五大类VB.NET运算符全面介绍
  3. 全面讨论VB.NET申明Windows API函数
  4. 剖析VB.NET平台调用是如何执行操作
  5. 分享个人总结VB.NET多线程
责任编辑:佚名 来源: IT168
相关推荐

2009-10-29 16:46:32

VB.NET语言

2009-10-19 10:23:32

VB.NET语言

2009-10-19 11:28:42

VB.NET语言.NET开发语言

2009-10-28 17:44:31

VB.NET语言

2009-11-03 13:48:02

VB.NET枚举

2010-01-18 18:14:37

VB.NET语言特点

2009-10-19 09:16:08

VB.NET语言

2009-11-03 09:26:13

VB.NET方法

2009-10-15 17:41:14

VB.NET Impo

2009-11-03 10:00:20

VB.NET New方

2009-10-16 14:07:18

VB.NET使用Mon

2009-10-12 14:32:40

VB.NET实现定时关

2009-10-10 15:43:51

2009-10-13 15:20:02

VB.NET使用Dra

2009-11-02 17:24:57

VB.NET语言

2009-10-16 15:06:13

VB.NET组合时间值

2009-10-16 09:21:49

VB.NET开发自动分

2009-10-13 16:05:07

VB.NET字符数据类

2009-12-24 14:30:56

VB.NET

2009-10-29 14:02:24

VB和VB.NET比较
点赞
收藏

51CTO技术栈公众号