VB.NET语言基础语法介绍

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:49 我要评论(0)

很久以来,VB因为缺乏完善的面向对象支持、缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑。VB.NET将彻底改变这种情况。然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行。

下面几个表格总结了VB.NET语言在语法上的改动之处。注意这些表格并没有完全列出所有改动之处,但列出了最重要的一些改动。

表A对比了VB6中一些熟悉的语法形式及其在VB.NET中类似功能最接近的语法形式。

表A:语法对比旧语法 新语法 说明窗体装载事件,类初始化事件 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.

表B:和整数有关的数据类型长度 VB6以及更早版本中的名称 VB.NET中的名称16 bit Integer Short 32 bit Long Integer 64 bit (无) Long

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

表C:被替换的关键词

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

Circle System.Drawing.Graphics DrawEllipse

Line System.Drawing.Graphics DrawLine

Atn System.Math Atan

Sgn System.Math Sign

Sqr System.Math Sqrt

Rnd Microsoft.VisualBasic.Compatibility.VB6 Rnd

Round Microsoft.VisualBasic.Compatibility.VB6 Round

Lset System.String PadRight

Rset System.String PadLeft

DoEvents System.Winforms.Application DoEvents

VarType System.Object GetType(返回类Type的对象,其中包含了可提取出信息的属性)

在VB.NET中,变量、数组的声明和初始化方法都有所变化,下表概要地列出了VB.NET在这方面的变化。

表D:新的声明方法

变化 语法举例

单个声明语句中不能声明多种类型。 'VB.NET不允许出现下面这种声明!

Dim nCount As Integer, bAnswer As Boolean

声明变量时可赋予初始值 Dim nCount As Integer = 20

Dim nDoubleCount as Integer = nCount * 2

允许为数组元素指定初始值 Dim nIndex(3) As Integer = (3, 5, 7)

不能用Redim进行声明,只能用Redim重新定义数组大校 '下面这行代码在VB.NET中不合法!

Redim sName() As String

大量新关键词实现了VB.NET中的新功能。下面是一些最重要的关键词及其用途、用法简例。

表E:VB.NET的新关键词

关键词 用途 简单例子

Inherits 指向基类,用于实现继承。 Inherits System.WinForms.Form

MyBase 在子类的代码中,MyBase引用基类。 StringProperty = MyBase.StringProperty

Shared Shared表示类的所有实例共享类里面的变量。 Public Shared BaseLocation As String

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...