VB6与VB7(VB.NET)的异同

        

        刚刚开始VB.NET的学习,就本能的直接上手了视频的学习,但实在是能力有限,不能很好的理解材料中的内容,无奈之下,就看了一些VB的pfd的文件,希望从中受益些许。


        如果学过VB6,现在又转而学习VB7的人,大概都会有类似本文的总结或思考,我也浏览过一些文章,下面是我在看过文章之后的一些简单整理。有不妥之处还请斧正


        PS:今天恰逢小年,算是给自己一个礼物吧,如果真的送人,好像有些拿不出手。


        之前师哥和老师都说过数据类型很重要,所以简单的列了一章表,来观察VB.NET对VB6中数据类型的取舍,以及填充,对于VB.NET的数据类型后面应该会另有文章。

VB.NET基本数据类型

VB基本数据类型

Integer整型

Integer整型

Long长整型

Long长整型

Single单精度浮点型

Single单精度浮点型

Double双精度浮点型

Double双精度浮点型

Short短整型

 

Decimal十进制型

 

Byte字节型

Byte字节型

String字符串型

String字符串型

Date日期型

Date日期型

Boolean布尔型

Boolean布尔型

Object对象型

Object对象型

Char字符型

Currency数据类型


        看过了数据类型,下面来到运算符的对比。

        同样的,运算符也只是在这里简单展示,后面会对VB.NET的运算符展开来

VB.NET运算符

VB运算符

算数运算符

+-*/\MOD^

算数运算符

+-*/\MOD^

字符串运算符

&+

字符串运算符

&+

关系运算符

=><>=<=<>likeis

关系运算符

=><>=<=<>likeis

逻辑运算符

NOTANDORXor

逻辑运算符

NOTANDORXorEqvImp

赋值运算符

=+=-=*=/=\=^=&=

 

 

二进制运算符

BitAndBitNotBitOrBitXor

 



从VB6到VB.NET
一、语法上的变化
        1.用参数进行传递时,参数的默认传递方式由“按地址传递”的方式变成了“按值传递”的方式,换句话说,对子过程调用时,默认情况下是不会对传进子过程的变量有任何改变的。
        2.关键字“ByVal”是默认的,如果想改变变量的值,就要在参数声明的时候加上关键字“ByRef
     3.还有五个关键字用法变了,或者已经不合法了,这五个关键字是:SetVariantWendDimReDim,见下面两段程序:
在VB6中的程序:
Set q = New Collection
Dim y as Variant
        While x<10
                x=x+1
        Wend
Dim x as Interger,y as interger
ReDim Z(30) as Single

在VB.NET中的程序:
q=New Collection
Dim y as Object
	While x<10
		x=x+1
	End While
Dim x,y as Integer
Dim Z() as Single
Z = new Single(30)

        因为Dim语句允许将几个不同类型的变量一起进行声明,所以下面的语句是合法的:
Dim x ,y as Integer
        但不同变量是不可以一起声明的,下面的语法在VB.NET中是不合法的:
Dim x as Integer , y as Single
        只能将这两个变量分开声明

二、函数中增加的语句
    在VB6中有个笨拙的函数值返回的形式:将函数名作为返回值的赋值对象:
Public Function Squarit(x as Single)
	Squarit = x*x
End Function
   在VB.NET中,可以不受这个束缚,可以简单的用“Return”语句返回函数值,就像其他语言的函数返回值一样:
Public Function Squarit(x as Single)
	Return x*x
End Function

三、VB,NET中的数字类型
    在VB.NET中,所有的定点整数都被定义成“Int32”类型,所有浮点数都被定义成“Double”类型,如果想把一个整数赋值给一个“Single”类型的变量,要在这个整数后面加上“F”代表浮点数(Floating Point):
Dim time as Single = 123F
    通常情况下,VB.NET编译系统被设置成“Option Explicit”,用以要求变量声明,也限制了没有定义的类型转换。用户可以将一个“Integer”类型转换成“Single”或“Double”类型,但是若想将一个“Single”类型转换成“Integer”类型就必须将变量特殊的声明:
Dim k as Integer = tim.ToInt16


              最后祝大家小年儿快乐!!


你可能感兴趣的:(VB6与VB7(VB.NET)的异同)