网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > VB.NET > VB.NET语法基础学习  

VB.NET语法基础学习

2008-04-30  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

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

中国网管联盟bitsCN.com

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

网管bitscn_com

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

    表A:语法对比旧语法 新语法 说明窗体装载事件,类初始化事件 Sub New procedure Sub New称为构造方法(Constructor),它可以有参数。 网管联盟bitsCN@com

    Property Let Property Set Let关键词不再有效。 网管bitscn_com

    Currency Decimal 在VB6中,Decimal是Variant的一种子类型,但在。NET中它是一种固有的数据类型。。NET不再支持Currency数据类型。

中国网管论坛bbs.bitsCN.com

    Variant Object VB.NET的Object数据类型兼有VB6 Object类型和Variant类型的能力。

网管联盟bitsCN_com

    Debug.Print Debug.Write Debug.WriteLine 这个变化只是名称上的简单变化:从Print变为Write和WriteLine. Wend End While VB.NET推荐使用While循环而不是Do循环。 中国网管联盟bitsCN.com

 

网管下载dl.bitscn.com

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

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

网管u家u.bitscn@com

 

网管联盟bitsCN_com

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

    表C:被替换的关键词
    VB关键词 VB.NET名称空间中的位置 方法/属性
   
    Circle System.Drawing.Graphics DrawEllipse
   
    Line System.Drawing.Graphics DrawLine
   
    Atn System.Math Atan
   
    Sgn System.Math Sign

网管bitscn_com

    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的对象,其中包含了可提取出信息的属性)

中国网管联盟bitsCN.com


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

    表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 网管联盟bitsCN_com


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

    表E:VB.NET的新关键词
    关键词 用途 简单例子
    Inherits 指向基类,用于实现继承。 Inherits System.WinForms.Form
    MyBase 在子类的代码中,MyBase引用基类。 StringProperty = MyBase.StringProperty
    Shared Shared表示类的所有实例共享类里面的变量。 Public Shared BaseLocation As String
    Try
    Catch
    Finally
    Throw 这是新的错误处理关键词。Try开始一个启用错误控制的代码块,Catch标识一个对特定错误进行处理的代码块,Finally开始一个不管错误是否出现都必须执行的代码块,Throw抛出一个错误(类似于VB6的Err.Raise)。 Try
    rsRecordset.Update
    Catch
    LogError ("更新失败!")
    Finally
    rsRecordset.MoveNext
    End Try
    ReadOnly 在属性声明中,ReadOnly指示一个只读的属性(只有Get过程的属性)。 Public ReadOnly Property

网管u家u.bitscn@com


    StringProperty() As String
    WriteOnly 在属性声明中,WriteOnly指示一个只能写入的属性(只有Set过程的属性)。 Public WriteOnly Property
    StringProperty() As String
    Char 这是VB.NET中的单字符数据类型。 Dim chrInitial As Char
    Imports 在当前代码模块中引入指定类。 Imports System.WinForms
    Namespace 为模块指定名称空间(Namespace)。 Namespace MyApplicationName
    Overloads 重载。Overloads表示同一个函数名字有多个版本的实现,编译器通过函数的参数列表区分它们。 '同一个模块之内包含如下多个声明...
    Overloads Sub Display(sIn as String)
    Overloads Sub Display(nIn as Long)
    Overrides 覆盖。Overrides表示成员函数覆盖当前类所继承的基类中的指定方法。 Inherits MyBaseClass
    Overrides Function Name(nID as Long) _
    As String
    Overridable Overridable表示任意从当前类继承的类都可以覆盖指定成员函数。 Overridable Function Name _

网管联盟bitsCN_com


    (nID as Long) As String
    MustOverride MustOverride表示任意从当前类继承的类都必须覆盖指定成员函数。 MustOverride Function Name _
    (nID as Long) As String
网管u家u.bitscn@com

    Protected Protected表示成员函数只能从当前类的派生类访问。 Protected Sub Clear()

网管下载dl.bitscn.com

网管网www.bitscn.com


TAGs   学习   基础   语法       VB.NET   类型   属性   声明   As   一个      
 上一篇:没有了   下一篇:VB.net(Win)录入验证的办法
VB.NET语法基础学习 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: