vbnet入门学习资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基础教程
基础教程 (1)
vb. net介绍 (7)
的优点 (10)
新建一个项目 (11)
编写第一个应用程序 (11)
新建一个项目 (14)
的优点 (16)
vb. net介绍 (17)
第二部分的语法部的Numeric数据类型 (20)
的Byte数据类型 (21)
的String数据类型 (22)
的Boolean数据类型 (23)
的Date数据类型 (23)
的Object数据类型 (23)
的用户自定义类型 (24)
的数组定义 (24)
的数组列表 (25)
的多维数组 (26)
类型转换函数 (27)
的算术运算 (28)
的赋值运算符 (30)
的二进制运算符 (30)
的比较运算符 (31)
的连接运算符和逻辑运算符 (32)
运算符的优先级 (33)
的常量 (34)
的变量 (35)
条件分支语句 (39)
的循环语句 (41)
的Sub过程 (44)
的Funtion过程 (45)
在中调用过程 (46)
如何向过程传递参数 (47)
的类和对象基础 (49)
的Label控件 (51)
的Button控件 (53)
的Textbox控件 (54)
的MainMenu控件 (55)
的Checkbox控件 (56)
的Radiobutton控件 (58)
的GroupBox控件 (59)
的PictureBox控件 (59)
的ListBox控件 (60)
的CheckedListBox控件 (63)
的Combobox控件 (64)
的ListView控件 (67)
的TreeView控件 (67)
的ImageList控件 (69)
的Timer控件 (69)
的HScrollBar和VScrollBar控件 (70)
的ProgressBar控件 (71)
的ToolBar控件 (72)
的StatusBar控件 (73)
Vs 2005的ToolStrip控件 (74)
Vs 2005的StatusStrip控件 (76)
Vs 2005的MenuStrip控件 (77)
第六部分的OOP结构什么是oop (79)
的面向对象性 (80)
的共享成员(Share Members) (84)
类模块和标准代码模块的区别和比较 (85)
对象浏览器 (86)
对象的建立和销毁:对象的生命周期 (86)
设置和重设的属性 (88)
用方法来表现动作 (88)
对象变量的声明 (89)
对一个对象进行多种操作 (90)
使用New关键字 (92)
如何释放对对象的引用 (93)
如何把对象传递到一个过程 (94)
用一个字符名称调用一个属性或者方法 (95)
中给一个类添加方法 (96)
命名属性、方法和事件 (97)
的事件和事件处理 (97)
类的继承(Inheritance) (99)
继承的规则 (100)
用继承建立一个继承类 (101)
重载Windows控件 (102)
什么时候使用继承 (103)
什么是命名空间(Namespace) (107)
继承的例子 (108)
中用继承实现多态性 (110)
中用接口实现多态性 (111)
数据库基础知识 (113)
数据集(Datasets)的概念 (114)
什么是dao (116)
Dao与Jet数据库引擎 (117)
Dao对象模型 (118)
远程数据对象RDO (123)
Rdo对象模型 (123)
odbc api是什么 (128)
ODBC的结构 (128)
使用ODBC API访问数据库 (130)
ado数据对象 (132)
ado对象模型 (133)
简介 (138)
使用的基本方法 (139)
第八部分的多线程自由线程(Free Threading) (141)
关于线程的参数和返回值的问题 (142)
的并发性问题 (142)
第九部分的文件和出错处理的出错处理 (144)
中的出错处理是使用excetions而不是ON Error GOTO语法来实现的,ON Error GOTO现在已经不支持了,Visual Basic现在提供一个结构化的出错处理过程,使用Try...Catch...Finally表述。

结构化的出错处理过程是和exceptions有关的,类似于Select Case或者While的一个具有选择关系的代码结构。

这使得程序的代码更具有健壮性,可以进行更加复杂的错误处理。

exceptions的运行机理是这样的,当有错误出现时,错误处理过程就会屏蔽掉使得在Try模块中产生错误的运行代码,并且使用Catch表述来获取错误,语法如下: . (144)
的多种出错处理(Multiple Exceptions) (146)
的文件对象(file object) (148)
文件处理的出错处理 (149)
检测文件的结束(Testing for End of File) (149)
文件的静态方法(Static File Methods) (150)
第一部分 Visual 基础
1.vb. net介绍
的优点
3.新建一个项目
4.编写第一个应用程序
第二部分 的语法部分
的Numeric数据类型
的Byte数据类型
的String数据类型
的Boolean数据类型
的Date数据类型
的Object数据类型
的用户自定义类型
的数组定义
的数组列表
的多维数组
类型转换函数
第三部分 visual 的运算
程序设计时经常用到的有6种运算:算术运算(Arithmetic)、赋值运算(Assignment)、二进制运算(Bitwise)、比较运算(Comparison)、连接运算(concatenation)及逻辑运算(Logical),下面对这6种运算进行简单介绍。

的算术运算
的赋值运算符
的二进制运算符
的比较运算符
的连接运算符和逻辑运算符
运算符的优先级
(一) Visual 的常量和变量
的常量
的变量
(二) Visual 的流程和控制结构
条件分支语句
的循环语句
(三) 的过程和函数
的Sub过程
的Funtion过程
3.在中调用过程
4.如何向过程传递参数
(四)的类和对象基础
第四部分 visual 的常用控件
的Label控件
的Button控件
的Textbox控件
的MainMenu控件
的Checkbox控件
的Radiobutton控件
的GroupBox控件
的PictureBox控件
的ListBox控件
的CheckedListBox控件
的Combobox控件
的ListView控件
的TreeView控件
的ImageList控件
的Timer控件
的HScrollBar和VScrollBar控件
的ProgressBar控件
的ToolBar控件
的StatusBar控件
20.Vs 2005的ToolStrip控件
21.Vs 2005的StatusStrip控件
22.Vs 2005的MenuStrip控件
第六部分 的OOP结构
1.什么是oop
的面向对象性
的共享成员(Share Members)
4.类模块和标准代码模块的区别和比较
5.对象浏览器
(一)建立和使用对象
对象的建立和销毁:对象的生命周期
2.设置和重设的属性
3.用方法来表现动作
对象变量的声明
5.对一个对象进行多种操作
6.使用New关键字
7.如何释放对对象的引用
8.如何把对象传递到一个过程
(二)在程序运行中得到一个类的信息:
用一个字符名称调用一个属性或者方法
(三) 中的类、继承与多态性
中给一个类添加方法
2.命名属性、方法和事件
的事件和事件处理
4.类的继承(Inheritance)
继承的规则
6.用继承建立一个继承类
7.重载Windows控件
8.什么时候使用继承
9.什么是命名空间(Namespace)
继承的例子
中用继承实现多态性
中用接口实现多态性
第七部分数据库访问技术
关于SQL语言的知识,请参考:
sql语言教程及Sql语言基础
1.数据库基础知识
数据集(Datasets)的概念
3.什么是dao
4.Dao与Jet数据库引擎
5.Dao对象模型
6.远程数据对象RDO
7.Rdo对象模型
8.odbc api是什么
9.ODBC的结构
10.使用ODBC API访问数据库
11.ado数据对象
12.ado对象模型
简介
14.使用的基本方法
第八部分 的多线程
1.自由线程(Free Threading)
2.关于线程的参数和返回值的问题
的并发性问题
第九部分 的文件和出错处理
的出错处理
的多种出错处理(Multiple Exceptions)
的文件对象(file object)
文件处理的出错处理
5.检测文件的结束(Testing for End of File)
6.文件的静态方法(Static File Methods) vb. net介绍
是Visual 的简称。

提到,就不能不先提一下vb(Visual Basic)。

Visual Basic是Windows环境下的一种简单、易学的编程语言,由于其开发程序的快速、高效,深受程序员的
喜爱。

严格地来说,Visual Basic只是半面向对象的语言,其面向对象的能力及程序的执行效率往往不能一些程序员的需要,因此,大的项目很少使用Visual Basic来开发。

Visual Basic的最后一个版本是Visual Basic 6.0。

在Visual Basic 6.0之后,微软公司推出了全新的“.NEt构架”,在其第一个版本-Visual 7.0中,集成了Visual Basic 7.0、Visual C++ 7.0 及C#,其中的Visual Basic 7.0(vb 7.0),即是的第一个版本。

现在.NET是最新版本是Visual Studio 2005,对应的的最新版本是集成在其中的Visual Basic 9.0(vb 9.0),也可称为 2005。

如何得到?
由于集成在Visual 之中,你只需安装Visual ,就可使用集成在其中的相应版本的。

建议安装最新版本-Visual Studio 2005,现在的电脑配置,基本都能满足其安装要求,操作系统可以是windows xp、windows 2000或以上版本,,同时要求有IE 6.0或更高版本以及Windows Installer 3.1或更高版本。

第一次启动Visual Studio 2005时,会出现一个对话框,如图1.1:
图1.1:选择默认环境设置对话框
由于现在我们要学习的是,所以我们选择对话框左侧的“Visual Basic 开发设置”,单击下方的“启动Visual Studio(S)”,即可启动Visual Studio 2005,如图1.2:
图1.2:Visual Studio 2005的界面
的优点
是基于.NET框架的完全对向对象的编程语言,而vb 6.0只是半面向对象的语言,使用可以编制出功能更加强大的windows程序。

现在,我们把和vb 6.0做一下比较,看看对比vb 6.0有着什么样的特性和优点。

1.在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。

在中,
可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。

构造函数的使用,简化了编码的过程和出错的机会。

编写线程的能力比vb 6.0有很大的增强。

3.在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。

在中,可以
使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提
供了更少、更简单、更易于维护的代码。

基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。

5.因为是基于.NET框架的,可以与其它.NET语言协同工作。

6.在中,通过Web窗体及,开发者可以快速开发可扩展的Web 站点。

如果你能进一步学习,你会发现更多的新特性和优点。

新建一个项目
使用可以快速建立各种类型的项目,同时由于其集成在Visual 中,所以也可以在中创建和编辑项目。

1.首先打开Visual Studio 2005集成开发环境。

单击“开始”→“程
序”→“Microsoft Visual Studio 2005”→“Microsoft Visual Studio 2005”,打开如图1.2所示的集成开发界面。

2.单击“文件”→“新建项目”命令(也可在如图1.2所示的集成开发界面中单击“起始页”窗口中的“创建项目”按钮),弹出“新建项目”对话框,如图1.3。

在该对话框中,在“项目类型”列表框中选择“Visual Basic项目”,在“模板”列表框中选择相应的程序类型,比如我们选择“Windows应用程序”,在“名称”文本框中输入名称,比如我们输入“project1”,并在其下方的“位置”列表框中为其选定一个保存路径,单击“确定”按钮,便在中创建了一个名为“project1”的新项目。

编写第一个应用程序
本节我们来创建一个的“Hello world”程序,该程序由一个文本框(textbox)和一个按钮(Button)组成,单击该按钮,文本框会出现“Hello,world”,同时,按钮上的文本由“你好”变为“谢谢”。

步骤如下:
一、创建一个新的项目,也可打开上节我们创建的那个名为“project1”的项目。

二、打开或创建项目后,默认的窗体是form1,我们就使用它来做为应用程序的用户界面。

1. 的工具箱默认是折叠在工作区的左侧的(如下图),鼠标指向它时,会展开工具箱;鼠标移开时,它又会自动折叠。

为了使用时的方便,可以在用鼠标展开工具箱后,单击工具箱右侧中间的那个图钉将工具箱固定在工作区的左侧,如下图:
2.向窗体添加一个文本框控件和一个按钮控件,方法很简单:在工具箱中找到Textbox和Button控件后,用鼠标拖动到form1窗体上即可,并且还可以用鼠标拖动改变其在窗体上的位置。

添加控件后的窗体如下图:
3.设置form1的text属性:鼠标单击form1窗体的空白处,在工作区右侧的窗性窗口中,在form1的text属性值中输入hello,world!,如下图:
4.设置按钮的text属性:用鼠标单击选中form1窗体上的按钮,在右侧的属性窗口中将其text属性值输入“你好”。

经过以上两步操作的窗体如下图,可以看到,form1窗体的标题栏上的文字变成了“hello,world!”,按钮上的文字变成了“你好”,这是我们分别设置了两个控件的text属性的缘故。

5.编写程序代码:双击form1窗体上的按钮控件,在出现的代码窗口中,默认的事件过程是Click事件(鼠标单击时发生的事件),此例中无需改动。

在“sub”和“End Sub”之间输入如下语句:
Textbox1.Text="hello,world!"
Button1.Text="谢谢"
如下图(注意:代码中的符号均是英文标点)
6.点击工具栏上的“”或按F5键即可运行该程序,运行窗口中的文本框的值为空,按钮的标题为“你好”。

点击“你好”按钮后,触发了按钮的click事件,调用其click事件过程代码,将文本框和按钮的text值分别变为
“hello,world!”和“谢谢”,如下图:
新建一个项目
时间:2007-05-24 本站雪落无声
使用可以快速建立各种类型的项目,同时由于其集成在Visual 中,所以也可以在中创建和编辑项目。

1.首先打开Visual Studio 2005集成开发环境。

单击“开始”→“程
序”→“Microsoft Visual Studio 2005”→“Microsoft Visual Studio 2005”,打开如图1.2所示的集成开发界面。

2.单击“文件”→“新建项目”命令(也可在如图1.2所示的集成开发界面中单击“起始页”窗口中的“创建项目”按钮),弹出“新建项目”对话框,如图1.3。

在该对话框中,在“项目类型”列表框中选择“Visual Basic项目”,在
“模板”列表框中选择相应的程序类型,比如我们选择“Windows应用程序”,在“名称”文本框中输入名称,比如我们输入“project1”,并在其下方的“位置”列表框中为其选定一个保存路径,单击“确定”按钮,便在中创建了一个名为“project1”的新项目。

图1.2:Visual Studio 2005的界面
图1.3:的“新建项目”对话框
的优点
是基于.NET框架的完全对向对象的编程语言,而vb 6.0只是半面向对象的语言,使用可以编制出功能更加强大的windows程序。

现在,我们把和vb 6.0做一下比较,看看对比vb 6.0有着什么样的特性和优点。

1.在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。

在中,
可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。

构造函数的使用,简化了编码的过程和出错的机会。

编写线程的能力比vb 6.0有很大的增强。

3.在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。

在中,可以
使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码。

基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。

5.因为是基于.NET框架的,可以与其它.NET语言协同工作。

6.在中,通过Web窗体及,开发者可以快速开发可扩展的Web 站点。

如果你能进一步学习,你会发现更多的新特性和优点。

图1.2:Visual Studio 2005的界面
vb. net介绍
是Visual 的简称。

提到,就不能不先提一下vb(Visual Basic)。

Visual Basic是Windows环境下的一种简单、易学的编程语言,由于其开发程序的快速、高效,深受程序员的
喜爱。

严格地来说,Visual Basic只是半面向对象的语言,其面向对象的能力及程序的执行效率往往不能一些程序员的需要,因此,大的项目很少使用Visual Basic来开发。

Visual Basic的最后一个版本是Visual Basic 6.0。

在Visual Basic 6.0之后,微软公司推出了全新的“.NEt构架”,在其第一个版本-Visual 7.0中,集成了Visual Basic 7.0、Visual C++ 7.0 及C#,其中的Visual Basic 7.0(vb 7.0),即是的第一个版本。

现在.NET是最新版本是Visual Studio 2005,对应的的最新版本是集成在其中的Visual Basic 9.0(vb 9.0),也可称为 2005。

如何得到?
由于集成在Visual 之中,你只需安装Visual ,就可使用集成在其中的相应版本的。

建议安装最新版本-Visual Studio 2005,现在的电脑配置,基本都能满足其安装要求,操作系统可以是windows xp、windows 2000或以上版本,,同时要求有IE 6.0或更高版本以及Windows Installer 3.1或更高版本。

第一次启动Visual Studio 2005时,会出现一个对话框,如图1.1:
图1.1:选择默认环境设置对话框
由于现在我们要学习的是,所以我们选择对话框左侧的“Visual Basic 开发设置”,单击下方的“启动Visual Studio(S)”,即可启动Visual Studio 2005,如图1.2:
图1.2:Visual Studio 2005的界面
图1.3:的“新建项目”对话框
第二部分 的语法部的Numeric数据类型
支持多种Numeric(即数值型)数据类型,包括:Integer(整型)、Long(长整型) 、Single(单精度浮点型)、Double(双精度浮点型)、Decimal(十进制型)、Short(短整型)。

如果一个变量总是存放整数(如365)而不是带小数点的数字(如3.14159),则可将其声明为Integer(整型)、Long(长整型)或Short(短整型)。

与其它的数据类型相比,整数的运算速度快,且占内存少,常在For...Next循环内作为计数器变量使用。

Decimal(十进制型)是Visual 框架内的通用数据类型,可以表示28位十进制数,且小数点的位置可根据数的范围及精度要求而定。

Single(单精度浮点型)和Double(双精度浮点型)比Decimal(十进制型)数据类型的有效范围大得多,但有可能产生小的进位误差。

详细内容见下表:
的Byte数据类型
如果变量包含二进制数,则可将其声明为Byte类型的数组。

在转换格式期间用Byte变量存储二进制数据就可保留数据。

当String类型变量在ANSI和Unicole格式之间进行转换时,变量中的任何二进制数据都会受到破坏。

在下列任何一种情况下,都会自动在ANSI和Unicole格式之间进行转换:
(1)读文件时
(2)写文件时
(3)调用DLL时
(4)调用对象的方法和属性时
除一元减法之外,所有可对整数进行操作的运算符均可操作Byte数据类型,因为Byte类型在中的存储位数是8位,表示的是从0~255的无符号整数类型,不能表示负数。

因此,在进行一元减法运算时,首先将Byte转换为符号整数。

Byte数据类型可以转换成Integer类型、Long类型、Short类型、Single类型、Double类型、
Decimal类型,且不会出现溢出的错误。

的String数据类型
如果一个变量总是存储诸如“我是中国人”之类的字符串而不包含3.1415926
这样的数值,则可将其声明为String类型。

在中,一个字符串可包含大约2亿(2的31次方)个Unicode字符,字符的机内码从0到65535,前128个字符代表英文字母及标准键盘上的字符,
128到255个字符代表特殊的字符,如拉丁字母、货币符号、分数等。

声明字符串变量的格式:
Dim S As String
然后可将字符串值赋予这个变量,并用字符串函数对其进行操作,如:
S="我是中国人"
默认情况下,String类型变量或其参数是一个可变长度的字符串,随着对字符串赋予新数据,它的长度可增可减。

可以对String类型进行操作的基本函数:
1.Len函数
此函数返回字符串的长度,返回值为长整型(Long),其语法为:
Len(string|varname)
说明:string为任何有效的字符串表达式;varname为任何有效和变量名称。

如果varname是Object,Len函数视其为String并且总是返回其包含的字符数,如:Dim A as String
Dim B as Integer
A="我是中国人" '初始化字符串
B=Len(A) '返回10(一个汉字占2字节)
2.Trim、Ltrim及Rtrim函数
Trim、Ltrim及Rtrim函数完成将字符串中的一部分或全部空格去掉。

Trim去掉字符串中的全部空格,Ltrim去掉字符串中起始的空格,而Rtrim将字符串末尾的空格都去掉,例如:
Dim A,B As String
A=" hello " '初始化字符串
B=Trim(A) 'B="hello"
B=Ltrim(B) 'B="hello "
B=Rtrim(B) 'B=" hello"
3.Substring方法:
Substring方法取代以前vb 6.0中的"Right"、"Left"及"Mid"等标准函数,用法是:
StrName.Substring(startChar,Length)
例如:
S.Substring(0,2) '相当于Left(S,2)
S.Substring(S.Length(),-4) '相当于Right(S,4)
的Boolean数据类型
Boolean型数据,也称布尔型。

如果变量的值只是"true/false"、"yes/no"、"on/off"等逻辑值信息,可将其声明为Boolean型。

Boolean型数据占4个字节。

如果其他Numeric类型数据转换为Boolean型,则"0"转换为"False",其他的非零数转换为"True",Boolean的默认值为"False"
下面例子中,"blnRunning"是Boolean变量,存储简单的"yes/no"逻辑值信息:
Dim blnRunning As Boolean '查看磁带是否在转
If Recorder.Direction=1 Then
blnRunning=True
End if
While blnRunning
........
While End
的Date数据类型
Date(日期)和Time(时间)可包含在Date数据类型中,Date类型的变量存储在64位(8个字节)的长整型中,代表的时间从公元1年1月1日到公元9999年12月31日,表示的时间从0:00:00到23:59:59。

Date类型的数据要写在两个“#”之间,如“# January 1,1993”或“#1 Jan 93”,而且日期和时间的表示方式取决于计算机。

DateAndTime类:
DateAndTime类可以返回各种形式的时间信息,常用的属性有“Now”,“Today”等,常用的方法有“Year”、"Month"、“MonthName”、“Weekday”、“WeekdayName”等,如下例,将当前的日期及时间返回给“MyDate”:
Dim MyDate As Date
Dim MyWeekdayName As String
MyDate=DateAndTime.Now
MyweekdayName=DateAndTime.WeekdayName(1) & CStr(MyDate)
的Object数据类型
Object变量作为32位(4个字节)地址来存储,该地址可引用应用程序中或某些其他应用程序中的对象。

可以随后指定一个被声明为Object的变量去引用应用程序所识别的任何实际对象。

Object变量也可以用来存储各种类型的数据变量,这个功能使Object类型取代了vb 6.0中的Variant类型,如下例:
Dim objDb as Object
objDb=New DAO.Field()
在声明对象变量时,请使用特定的类,而不用一般的Object(例如用TextBox而不用Control,或者像上面的例子那样,用“Field”取代Object)。

运行程序之前,可以决定引用特定类型对象的属性和方法。

因此,应用程序在运行时速度会更快。

在“对象浏览器”中列举了特定的类。

当使用其他应用程序的对象,并在“对象浏览器”中的“类”列表中列举对象时,应该声明对象,这样可确保能够识别引用的特定类型对象,在运行时解决引用问题。

的用户自定义类型
用户自定义类型在中称为“structure”(结构),包含有一个或多个不同种类的数据类型,尽管结构中的数据可以单独被访问,但是这些数据仍被认为是一个集合。

在vb 6.0中用户自定义类型的关键字是“Type”,之所以改成“structure”,或许是为了与C++的语法靠近吧。

一个结构的定义以“structure”关键字开始,以“End Structure”关键字结束,结构中的元素可以是任意的数据类型的组合,包括其他结构。

结构一旦定义出来后就可以被用作变量声明、参数传递以及函数的返回值等用途,下面是一个结构的语法:
[Public|Private|Protected|]Structure structname
{Dim|Public|Private|Friend}member1 As datatype1
......
{Dim|Public|Private|Friend}memberN As datatypeN
End Structure
如下例定义一个“Employee”结构:
structure Employee
Public GiverName As String '雇员的姓
Public FamilyName As String '雇员的名
Public Extension As Long '雇员的电话
End Structure
用户自定义数据类型占用内存空间是其包含的所有数据类型所占用内存空间的总和。

的数组定义
数组(Arrays),可以用相同名字引用一系列变量,并用数字(索引)来识别它们,在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。

数组的元素下标是连续的。

由于对每一个索引值都分配空间,所以不要不切实际地声明一个太大的数组。

在中,所有的数组都是以“0”为起始长度的,这与vb 6.0完全不一样,在vb 6.0中,如果写下以下语句:
Dim x(10) As Single
可以假定x数组的元素从1到10的,但它实际上总是包含第0个元素,换句话来说,x数组实际上是含有11个元素。

在中,这样的数组含有10个元素,编号为0到9,使我们在处理数组的长度和编号的情况与C、C++、C#和Java具有一致性,如下例:
Dim Max As Integer
Max=10
Dim x(Max)
For j=0 to Max-1
x(j)=j
Next j
从上面例子可以看出,数组的最后一个元素的编号,总是数组的长度减1。

的数组列表
现在除了数组的长度计数是基于0开始的这个变化外,还引进了一个数组列表(ArrayList)对象来代替原来的集合(Collection)对象,集合对象的长度计数总是从1开始的,而且在需要的时候,数组列表的长度可以是不定的。

数组列表的基本的方法和集合一样,只不过它还具有一些新的功能方法。

例如:
Dim Arl As ArrayList '构建一个数组列表
For j=0 to 10
Arl.Add(j)
Next j
所有的数组变量都有一个长度属性,这样就可以得知这个数组有多大:
Dim Z(20) As Single
Dim j As Integer
For j=0 to z.Length-1
Z(j)=j
Next j
在中所有的数组都是动态的,可以在任何时候重新定义数组的长度,然而,在中已经没有ReDim Preserve表述了,可以使用New关键字来对任何一个数组进行引用,并且重新定位:
'在类模块级声明
Dim X() As Single
'重新定位
X=New Single(20){}
注意:数组类型后面的大括号不要忘记写。

和集合对象一样,数组列表含有一个“Count”属性和一个“Item”属性,允许使用“index”来访问数组列表中的元素。

而且,和集合对象一样,这个属性也可以省略,感觉就像操作数组一样:
For i=0 to ar.Count-1
Console.WriteLine(ar.Item(i))
console.WriteLine(ar(i))
Next i
下表为数组列表的一些方法:
注意:本部分讲座的数组是程序中声明的变量数组,不同于控件数组。

控件数组是在设计时通过设置控件的“Index”属性规定的,变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。

一个数组中的所有元素具有相同的数据类型。

当然,当数据类型为“object”时,各个元素能够包含不同种类的数据(对象、字符串、数值等)。

可以声明任何基本数据类型的数组,包括用户自定义的类型和对象变量。

此外,数组在 中已经是完全的动态的了。

的多维数组
多维数组可以理解为“数组的数组”,比一维数组多了“维数”概念。

可以用多维数组记录复杂的信息。

例如,为了追踪计算机屏幕上的每一个像素,需要引用它的X、Y坐标,此时应该用多维数组存储值。

声明多维数组的语法如下:
Dim ArrayName(VarNumber1,VarNumber2,......,VarNumberN) As Type
可以将一维数组所有规则推广到二维以上的多维数组。

例如,下面的语句声明了
一个10×10的二维数组以及4×10×15的三维数组:
Dim MatrixA(10,10) As Double
Dim MultiD(4,10,15) As Single
元素总数为各个维的维数的乘积,即为100、600。

注意:在增加数组的维数时,数组所占的存储空间会大幅度增加,所有要慎用多维数组。

使用“Object”数组时更要格外小心,因为它们需要更大的存储空间。

用循环操作数组可以用“For”循环嵌套来有效地处理多维数组。

例如,在“MatrixA”中基于每个元素在数组中的位置为其赋值:
Dim I,J As Integer
Dim MatrixA(10,10) As Double
For I=0 to 9
For J=0 to 9
MatrixA(I,J)=I*10+J
Next
Next
类型转换函数
程序设计过程中经常会遇到不同数据类型之间的转换,比如说要将“Date”类型显示在文本框中,必须先进行类型转换,将其转换为“string”类型。

虽然Visual Basic本身能进行一定的类型转换,但这种转换是有限制的,而且这种隐含的类型转换存在不稳定的因素,对程序的可读性、可维护性都有一定的影响。

因此Visual Basic提供了一定的类型转换函数,例如用“CStr”函数将操作数转换成“String”:
strDate=CStr(DateAndTime.Now)
下表列出了常用的类型转换函数:。

相关文档
最新文档