手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

VB.NET的重大转变

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


  注意:通过在代码窗口的左侧使用"plus"和"minus"标记,可以扩展或隐藏大块的代码。另外还可以用 #Region 语句来定义自己的"hideable"(可隐藏)区域。

  编写自己的代码

  现在来编写一个我们自己的VB.NET代码。首先要切换回Design(设计)视图。

  l 点击视图,Designer

  你会看到在VB.NET中编写一个按钮的代码同在VB6中同样容易。

  2 双击 Button1

  现在光标应该停留在代码窗口的以下内容处:

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

  End Sub

  当Command1被点击时,这两行之间的代码就会被启动。

  要响应按钮事件或表单中的其它事件,可以通过代码窗口上面的组合框来选择类和方法的名称。而且,在响应一个事件时还可以激活一个单独的子程序。

  现在我们来增加一些代码。向Button1的Click事件中增加以下代码:

  MessageBox.Show("Hey... hehe... you clicked me and it tickles!")

  然后按F5并进行测试。

  在第一部分我们已经提到,MessageBox.Show 是一个新的VB.NET 方法,用来显示一个信息框,它代替了旧的 MsgBox语句。

  名称空间

  VB.NET中的"名称空间"是一种对功能进行组织的很棒方法,其实它们就是建立在整个.NET 框架上的一批类,每种.NET编程语言都要使用这些名称空间。名称空间是一种命名方案,帮助我们组织应用程序可用的各种类。你可以使用一些被默认引入的名称空间的指令,而不需要键入其全部冗长的前缀。

  在Microsoft.VisualBasic 名称空间中,有许多是我们VB开发人员惯于使用的。要想知道我在说些什么,请到代码窗口,键入Microsoft并跟随一个句号。这时你会面临两个选择:Win32和VisualBasic。如果你键入了VisualBasic并且再一次按下句号,就会看到我们这些编码人员所熟悉的全部函数列表了。

  所以,如果你想使用我们在VB6时代就了解的StrReverse函数,就应该执行下列这串代码:

  MessageBox.Show(Microsoft.VisualBasic.StrReverse("Karl Moore"))

  首先,让我解释一下这种类的"组织"有许多优越性。作为一个开端,它是有组织的。而且,还可以避免命名的冲突,从而在所有的语言之间获得了一个共同的基础。

  在默认状态,Microsoft.VisualBasic名称空间中所有的指令都是默认引入的,这就意味着你只需要使用它们的名称,而可以跳过Microsoft.VisualBasic 这个前缀。

  引入一个名称空间时可以在你的表单或组件中指定"Imports 什么.什么",也可以在工程文件属性中指定引入。"Imports"是一种免去你键入全部冗长的前缀的一种方法。事实上,它同你已经了解并喜爱的"With"语句非常相似。

  并不只是有 Microsoft.VisualBasic 名称空间,还有System(系统)名称空间... 它们下面有无穷多个指令。

  有时候你会想要使用一个不是默认引入的名称空间中的功能,这时候你就需要"引入"它或是用完整的"名称空间路径"来引用它。如果正在进行图形方面的工作,你也许会对 System.Drawing.Graphics 名称空间感兴趣。如果在操作数据库,也许你会想要仔细研读System.Data.ADO。也许想要保存旧的Visual Basic代码,那么就应该查看Microsoft.VisualBasic.Compatibility.VB6 名称空间。



  新的名称空间会不断出现,你的"VB专家地位"会根据你所了解的现有名称空间的数量而发生变化。

  好,现在你已经知道名称空间了。以我的观点来看,这是VB.NET中最大的转变。

  接下来,将进入我认为是实际编码语法的重大转变部分。我将给你指出几点你应该注意的问题。
  编码的核心转变

  在编码中,有哪些转变是你所需要了解的呢?除了名称空间以外,我们再来回顾一下可能会对你带来影响的其它资源:

  l Longs, Integers :过去的Long变成了Integer,过去的Integer变成了所谓的Short。VB.NET 中新的Long 可容纳64位。

  2 Byte, Char:新的Byte 数据类型可容纳 0 到255之间的数字。新的Char 数据类型消耗2个字节的空间,可容纳一个Unicode 字符。

  3 Variants消失了:代替它的是普通的Object数据类型,实际上它现在可以容纳任何内容,同时它也不象VB6占用的内存那么多。

  4 Currency 的替代物:在VB.NET 中,Currency数据类型不再存在,它被更强大的128位Decimal(十进制)数据类型所代替。

  5 变量声明:在VB6中,"Dim X, Y, Z As Integer" 的结果是两个Variants和一个Integer。但是在VB.NET中,这会带来三个Integers(记住,这就是过去的Longs)。

  6 基于0的数组:许多人对此都有所抱怨并且面临改变。VB.NET中的数组是基于0的,这意味着它们总是从0开始。所以类似于 "Dim MyArray(10) As Integer" 这样的代码带来的结果是一个有11个元素的Integer数组:从0到10。

  注意:要想声明"表单层次"范围内的变量和数组,就要将它们放置在'New'方法之前,这个方法是在代码窗口中自动生成的。这是过去的Declarations区域。

  7 UDT 的改变:自定义类型非常有用。但是将来声明自定义类型时,需要使用类似于API关键字结构,而不能使用Type。下面是如何声明一个UDT的举例:

  Structure MyStructure

  Public Name As String
  Public Age As Byte

  End Structure

  7 Collection消失了:VB.NET不支持我们所了解的Collection对象。相反,它在System.Collections 名称空间中提供了一系列新的集合类型,其中最相似的是HashTable和 ObjectList。但是使用Compatibility名称空间时你可以使用旧的Collection 对象,就象这样:

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!