VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • 从VB到VB.NET——VB6程序员如何转向.NET(3)


Dim name As String = "Mahesh"
System.Console.Write(name) 


声明常量也可以照此办理:

Const DT_COUNT As Integer = 23 

New
关键字。在VB.NET中,New关键字用于创建对象。由于数据类型是对象,所以New关键字用以创建一个数据类型对象。


Dim i As Integer = New Integer()
i = 10
System.Console.WriteLine(i.ToString()) 


代码块级别支持。像C++一样,VB.NET支持代码块级别的作用域检查。在语句块中声明的变量只在块内有效。


For i = 1 To 10
Dim p As Long
System.Console.WriteLine(i.ToString())
Next
System.Console.WriteLine(p.ToString()) 


这段代码在VB.NET中会得到一个编译错误,因为pFor..Next语句块之外不可访问。在VB6.0中这段代码可以通过。



改进了的类型安全
 

VB6.0中,当你声明一个对外部过程的引用时,可以指定任意类型的参数为As AnyAny关键字禁止了类型检查,允许任意数据类型传入和返回。


VB.NET不支持Any关键字。你必须指定每个参数和返回值的数据类型。


数组
VB.NET对数组作了明显的改动。


 

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


Dim A(10) As Single

可以使用Option Base改变下界值为1。在VB.NET中,数组和C++一样,下界值为0,不支持Option Base

注意:MSDN文档指出数组只能包括与其尺寸相等的元素数量,例如:

Dim A(10) As Integer 

只能包括10个元素(从A(0)A(9)),但在编译下面这段代码时我发现它运行良好,看起来数组中容纳了11个元素。



Dim A(10) As Integer 
A(0) = 12 
A(2) = 24 
A(10) = 23 

System.Console.WriteLine(A(0).ToString()) 
System.Console.WriteLine(A(10).ToString())
System.Console.WriteLine(UBound(A).ToString()) 
System.Console.WriteLine(LBound(A).ToString()) 


Lbound
Ubound分别返回 010

ReDimFixed Array。你可以在VB6.0中指定固定长度的数组。

 

Dim ArrWeekDays(0 To 6) As Integer 


这里的ArrWeekDays数组是固定长度的,不能用ReDim语句改变长度。VB.NET不支持固定长度数组,所以ReDim总是有效。


可以用下面两种方式声明数组:

Dim ArrWeekDays(6) As Integer
Dim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6} 

ReDim
语句。在VB6.0中,ReDim用于初始化动态数组。在VB.NET中你不能把它当作声明用。ReDim只能用于改变数组长度,不过不能改变数组维度。



Variant对阵Object
VB6.0中的Variant数据类型能存储任意类型变量,VB.NETObject具备相同能力。


算术操作符
VB.NET支持类似C++的快捷方式。下面的表格显示了常规操作与快捷操作的不同之处。快捷方式也可用于*/|&等操作符。


操作符        常规语法     快捷方式
加法           A = A+5    A +=5 
减法         A = A – 5  A -+ 5

固定长度字符串
 

VB6.0中,可以在声明字符串时指定其长度。VB.NET不支持固定长度字符串。


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


操作符           描述          

BitAnd            按位And
BitOr              
按位Or
BitXor             
按位Xor
BitNot             
按位Not


结构与自定义类型
VB6.0中,你使用Type…End Type语句块创建结构或自定义类型。例如:


Type StdRec 

StdId As Integer 

StdName As String 
End Type 


VB.NET引入新的语法:StructureType…End Type不再被支持。Structure…End StructureC++用法相同。可以指定结构中每个元素的可访问域,如PublicProtectedFriendProtected FriendPrivate等。例如:


Structure StdRec 

Public StdId As Integer 
Public StdName As String 

Private StdInternal As String 
End Structure

VB.NET
中的Structures就像类一样,也可以拥有方法和属性。

NewNothing关键字

VB6.0中,AS NewNothing关键字用于声明一个对象并初始化它。
 
VB.NET
不支持隐式创建对象。如前所言,甚至连数据类型都是对象。你可以采用以下两种方法创建数据类型或对象:
 
Dim i As Integer 
Dim i As Integer = New Integer() 
// Do something 
if i = Nothing Then 
End If 


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

Set myObj = new MyObject
Set a = b


VB.NET中,不需要使用Set指派对象。例如:

myObj = new MyObj()
a = b


过程(procedure)语法的变化
VB.NET中过程语法有了很多变化。例如类似C++的过程调用方式、ByVal(传值)为默认类型、Optional关键字、return语句等等。

类似C++的过程调用方式
VB6.0允许不用加圆括号调用过程(sub)。不过,用Call语句调用函数或sub时,一定要使用圆括号。例如:

Dim I as Integer
Call EvaluateData(2, i) 
EvaluateData 2, i 


VB.NET中,所有的方法调用都需要圆括号,而Call语句则是可选的。
 
ByVal
是默认参数类型
VB6.0中,在调用函数或subByRef(传址)是默认类型。那意味着所有改变将反映到传入的变量。VB.NET改变了这种方式。现在,默认的参数类型是ByVal(传值)。
 
Optional
关键字
VB6.0使用Optional关键字可用来让用户决定传入一个默认值,之后在调用IsMissing函数判断参数是否有效。
 
而在VB.NET中,每个可选参数必须声明其默认值,无需调用IsMissing函数。例如:

Sub MyMethod(Optional ByVal i As Integer = 3) 

Return语句
VB.NETReturn语句与C++相似。使用Return语句把控制权从过程返还给调用者。在VB6.0中,Return语句与GoSub语句一起使用。VB.NET不再支持GoSub语句。


流程控制的改变
下面是VB.NET对流程控制语句的修改:

1. GoSub不再受到支持。

2. CallFunctionSub语句均可用于调用过程。

3. On ... GoSubOn ... GoTo语句不再受支持。可以使用Select Case语句来替代。

4. While ... Wend语句现在改为While…End While语句。不再支持Wend关键字。

小结 
Visual Basic .NET.NET版本的Visual Basic。通过本文你了解到VB.NET的基本概念,而且也从VB6.0开发者的角度对VB.NET进行了考察。
 

 



[1] 译注:这意味着你无需购买VS.NET即可进行VB.NET开发

[2] 译注:STA-Single Threaded ApartmentMTA-Multi Threaded Apartment

发表于 @ 2004年03月10日 02:50 | 评论 (1)


 

举重若轻的ASP.NET开发工具——Web Matrix

 

       Matrix让你想起什么——对!黑客帝国。就在该片第二集火爆上映之时,一个以“Matrix”命名的ASP.NET开发工具也Reloaded(重装上阵)了。如果你斥巨资购买VS.NET而只用来开发网站应用,或是既买不起正版又不齿于盗版,那么你一定要试试Web Matrix。体积细小,功能强大,系出名门,完全免费……太多的理由让我们接受它。

       好吧,Web Matrix到底有何高招?笔者最初也是抱着这个疑惑下载并安装了Web Matrix,一用之下不忍释手,再用之下竟为之叹服。且让我把它的“官方(其实Web Matrix何来官方可言)”特性介绍引来一观——我想告诉读者的是,下列的特性我一一试过,绝非广告。请看:

       w以所见即所得方式设计ASP.NETHTML页面。直接从工具盒拖放控件到页面,双击控件自动生成事件代码。更牛的是,当你放置一个自定义控件(.ascx)到页面,Web Matrix会正确地绘制它,这一点连VS.NET都没有做到。当然你也可以修改控件属性,使之符合要求。

       w支持MS SQL Server/MSDEAccess数据库。直接拖放数据库对象到页面,通过向导生成ADO.NET访问代码。而且你还可以通过内建工具管理数据库(包括数据库、数据表、关系、存储过程、记录的创建、修改、删除等)。

       w支持C#VB.NETJ#编码。通过.NET Framework支持其它任何语言编写的ascxaspx文件。不过“代码完成(code complete)”的功能欠奉,不能不说是极大的遗憾。

       w自带Class Browser工具,.NET Framework对象体系一目了然。我还把它当作简明手册来使,方便得很。

       w支持XML Web Service的创建和修改。

       w支持移动应用(PDA、智能电话、呼机)编写。

       w基于FTP或本地文件系统的项目管理。也就是说,你可以在远程FTP站点上“直接”编写ASP.NET应用页面。上传、下载等细节由Web Matrix内置的FTP功能执行,开发者无须进行繁琐的文件管理操作。想想Macromedia DreamWeaverFTP站点管理功能,你不用关心站点更新问题,只要集中精力于开发本身。不过我建议你在测试站点端口使用这个功能,因为你根本保证不了每次编译结果都是完美的。我一般用8182之类的端口和独立的目录做测试版本,在整个开发过程结束之后,再把站点移到正式目录。

       w内建的Web Server。按下F5键,可以看到页面在本机8080端口运行了。这个特性的优点不言而喻——你甚至不需要安装IIS,就可以享受本机调试ASP.NET应用的方便。该内建WEB服务器还支持Web Service

       w我想特别提及的是Web Matrix的社区集成。在右下角toolboxCommunity Tab中,有ASP.NETWeb Matrix相关站点、论坛、新闻组等社区资源列表。你可以在集成环境中立刻得到此中高手的技术支持。

 

 

       Web MatrixMicrosoft ASP.NET开发组成员开发与维护。事实上,在某些方面,Web Matrix甚至是ASP.NET新功能的试炼场。因此,你不但可以感受到源自微软的技术实力,更可抢先尝试未来版本ASP.NET的某些特性。好了,下面是有关Web Matrix的一些资源地址,供读者参考。

 

Web Matrix“官方”站点: http://www.asp.net/webmatrix/default.aspx

Web Matrix下载:http://www.asp.net/webmatrix/download.aspx?tabindex=4

Web Matrix 在线论坛: http://www.asp.net/Forums/ShowForum.aspx?tabindex=1&ForumID=30?>
发表于 @ 2003年11月09日 04:31 | 评论 (24)


 

从VB到VB.NET

作者 Mahesh Chand

翻译 韩磊

 

Visual Basic .NETMicrosoft Visual Studio .NET套件中主要组成部分之一。.NET版本的Visual Basic增加了更多特性,而且演化为完全面向对象(就像C++)的编程语言。本文将介绍VB.NET的新特性,并比较VB6.0/VB.NET之间的区别,阐述如何利用VB.NET编写简单的应用程序。

1.1 什么是 VB.NET? 

VB.NETVB6.0的后续版本。Microsoft推出全新的编程和操作系统Framework——.NET,支持多种语言利用公共.NET库开发应用程序,这些应用程序在.NET Framework上运行。使用Visual Basic.NET Framework上编程,这就是VB.NET

首先,让我演示在VB.NET中写最简单的控制台程序:Hello World


1.2 Hello, World!

Hello World!”是初学者学习Windows编程的代表性程序。我们的第一个程序就叫做“Hello VB.NET World!”。该程序在控制台输出一句话:“Hello VB.NET World!”,代码如下所示:


相关教程