知识大全 在VB.NET编程中使用数组

Posted

篇首语:身体的财富是健康,思想的财富是知识。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在VB.NET编程中使用数组相关的知识,希望对你有一定的参考价值。

在VB.NET编程中使用数组  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  数组是程序中经常要使用到的一种数据类型 Visual Basic Net中的数组 虽然语法结构等方面保留了和Visual Basic的很多相似之处 但也与Visual Basic存在着很多区别 其最大 也是各位Visual Basic程序员所最不能容忍的区别就是如下二点

   在Visual Basic Net中申明一个数组 其数组元素中的索引值的起点全部都为 而不是以前Visual Basic中的索引值起点一般都为 这种定义方法和Visual Basic Net的孪生姐妹Visual C#非常相似

   由于在Visual Basic Net中数组都有了统一的起点 所以在Visual Basic Net中定义一个数组 也就不再需要关键字 To 来设定数组的范围 这样在Visual Basic Net中申明一个数组将会比Visual Basic中要稍微简洁一点 关于数组定义将在后面详细介绍

  一.本节主要内容

  在接下来内容中 将结合具体示例来详细的介绍下列知识点

   申明数组 其中包括一维数组 多维数组 也包括静态数组和动态数组 及其初始化 和访问数组中的元素

   重新申明数组 即ReDim语句的使用用法 及其Preserve关键字的作用

   使用For Each … Next语句来遍历数组中各个元素 For Each … Next语句是操作数据最为常用的一种语句 它能够方便的访问到数组中的每一个元素

   申明参数为数组的过程或者函数 由于数组是引用类型 所以在申明参数为数组的函数或过程时 处理方法与参数为值类型的函数或过程有点不一样

   简要介绍Array类和其主要的常用 以及通过Array类操作数组的具体方法 查看 更多内容请看Java编程开发手册 NET移动与嵌入式技术 NET开发手册专题 或进入讨论组讨论

  在Visual Basic Net申明一个数组使用的依然是Dim语句 其申明数组和Visual Basic的主要区别在上面内容中已经简单说过了 下面在Visual Basic Net申明一个长度为 的字符串数组 并对之进行初始化的代码

  Dim arrString ( ) As String = 星期一 星期二 星期三

  下面代码是申请一个 × 的二维字符串数组 并对之进行初始化

  Dim arrDate ( ) As String = 星期一 号 星期二 号

  静态数组和动态数组的区别就在于静态数组的长度是固定的 而动态数组的长度是不固定的 上面的申明的二个数组就是静态数组 而下面二段代码的作用就是分别申明一个一维数组和二维数组 并对它们进行初始化

  Dim arrString ( ) As String = 星期一 星期二 星期三

   申明一个动态的一维数组 并初始化

  Dim arrDate ( ) As String = 星期一 号 星期二 号

   申明一个动态的二维数组 并初始化

  对其他数据类型和更多维数的数组 其申明和初始化方法和上面的基本差不多 只需根据数组的维数和数据类型的不同进行相应的修改就可以了

  当数组申明和初始化以后 就可以通过元素在数组中对应的索引值来访问 下面二段代码分别是访问上面申明并初始化的一维数组和二维数组中的一个元素

  Dim sTemp As String = arrString ( )

   访问arrString数组中的第 个元素

  Dim sTemp As String = arrDate ( )

   访问arrDate数组中的第二行 第二列元素

  三.重新申明数组

  在Visual Basic Net重新申明数组和Visual Basic中基本类似 依然使用的是ReDim语句 在Visual Basic Net中使用ReDim语句要注意以下三点

   ReDim语句仅可以在过程级出现 这意味着不可以在类或模块级代码区使用ReDim语句来重新申明数组

   ReDim语句只是更改已被正式声明的数组的一个或多个维度的大小 但不能更改该数组的维数

   ReDim语句无法更改数组中元素的数据类型 和Dim语句申明数组的区别在于无法在ReDim语句中初始化重新申明的数组

  在使用ReDim重新申明数组时 最为常见的关键字就是 Preserve Preserve 的作用是表明在重新申明数组时 是否要在重新申明的数组中复制原数组中的元素 请比较下面二段代码

  代码一

  Dim arrString ( ) As String = 星期一 星期二 星期三

  ReDim Preserve arrString ( )

   重新申明arrString数组 数组的长度改为 并且在新数组中复制原数组的元素

  arrString ( ) = 星期四

  arrString ( ) = 星期五

  代码二

  Dim arrString ( ) As String = 星期一 星期二 星期三

  ReDim arrString ( )

   重新申明arrString数组 数组的长度改为 并不往新数组中复制原数组的元素

  arrString ( ) = 星期一

  arrString ( ) = 星期二

  arrString ( ) = 星期三

  arrString ( ) = 星期四

  arrString ( ) = 星期五

  通过比较上述二段代码 可见 在第一段代码中由于ReDim中使用了Preserve关键字 所以在重新申明数组时 就在新数组中复制了原数组的元素 这样就只需要对其中的二个元素进行初始化 而第二段由于没有使用Preserve关键字 就没有在新数组中带入原数组中的任何元素 所以对数组的所有元素都进行初始化 通过比较相信您对重新定义数组和 Preserve 关键字的使用有了更深的理解

  用Photoshop给漂亮的烫发MM抠图

  Photoshop透明婚纱抠图大法

  Photoshop:让MM做个 变色龙

  用Photoshop来制作一款精美的宝宝照片墙

  Photoshop绝色美女通道抠图法

  用Photoshop教你打造绚丽光芒效果

  For Each … Next语句好像只是为二种数据类型专门度身定做的 其一就是集合 另外一个就是数组了 通过For Each … Next语句 可以十分方便的访问数组中的任一元素 请仔细分析一下下列代码

  Dim arrString ( ) As String = 星期一 星期二 星期三

  Dim Temp As String

  For Each Temp In arrString

  If Temp = 星期三 Then

  MsgBox ( 在数组中寻找到 星期三 字符串 )

  Exit For

   退出For Each … Next语句

  End If

  Next

  上面代码的功能是通过For Each … Next语句访问arrString数组中各元素 如果发现有元素为字符串 星期三 则弹出提示框 并退出循环

  同样用For … Next语句也能够实现上面同样的功能 只是感觉有点不专业 并且有点繁琐 下面代码是用For … Next语句实现上面For Each … Next语句同等功能的代码

  Dim i As Integer

  For i = To myString Length

  If arrString ( i ) = 星期三 Then

  MsgBox ( 在数组中寻找到 星期三 字符串 )

  Exit For

  End If

  Next

  五.申明参数为数组的过程或者函数

  由于数组为引用类型 所以如果以数组为参数过程和函数在定义时候就要多加以注意 下面代码是在Visual Basic Net申明一个参数为数组的过程的典型代码 可见在调用数组类型之前多了一个关键字 ByVal ByVal 关键字的作用在于在下面调用的过程中的不能更改数组的数值

  Sub DisplayArray ( ByVal myString ( ) As String )

  End Sub

  六.简要介绍System Array类及其成员

  Array类是一个基类 是公共语言运行库中所有数组的基类 它提供了创建 操作 搜索和排序数组的方法 数组中任一个元素就是Array中的一个值 Array的长度是它可包含的元素总数 Array的秩是Array中的维数 Array中维度的下限是Array 中该维度的起始索引 多维Array的各个维度可以有不同的界限 表 和表 分别是Array类的常用属性和常用方法及其说明

  

>

  

  表 System Array类的常用属性及其说明

  

>

  表 System Array类的常用方法及其说明巧 巧 读 书:更多内容请看Java编程开发手册 NET移动与嵌入式技术 NET开发手册专题 或进入讨论组讨论

  下面介绍的示例的功能包含了数组的申明 初始化 重新申明 重新初始化 数组中各元素的排序 数组的遍历 查找以及以数组为参数的过程的定义及调用方法等 下面是此示例实现的具体步骤

   启动Visual Studio Net

   选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框

   将【项目类型】设置为【Visual Basic项目】

   将【模板】设置为【Windows应用程序】

   在【名称】文本框中输入【数组】

   在【位置】的文本框中输入【E:VS NET项目】 然后单击【确定】按钮 这样在 E:VS NET项目 目录中就产生了名称为 数组 的文件夹 并在里面创建了名称为【数组】的项目文件

   把Visual Studio Net的当前窗口切换到【Form vb(设计)】窗口 并从【工具箱】中的【Windows窗体组件】选项卡中往Form 窗体中拖入下列组件 并执行相应操作

  四个Button组件 分别用来创建一个 创建一维数组 创建 创建二维数组 实现对 对一维数组排序 和实现 重定义一维数组 并在这四个Button组件拖入Form 的设计窗体后 分别双击这四个组件 这样系统会在Form vb文件分别产生这四个组件的Click时间对应的处理代码

  一个ListBox组件 用来显示创建的一维数组的内容

   按照表 中数值来设定设定组件的主要属性

  

>

  表 表 【数组】项目窗体中各组件的主要属性设定数值表

  并按照图 中各组件的位置 大小和排列方式来调整窗体中各个组件

  

  图 【数组】项目的设计界面

   把Visual Studio Net的当前窗口切换到【Form vb】 进入Form vb文件的编辑界面 然后用下列的代码替换Form vb中Button 组件的Click事件对应的处理代码 下列代码的功能是通过创建输入对话框来创建一个一维数组

  Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click

  Dim i As Integer

  For i = To

  arrString ( i ) = InputBox ( 请在下面文本框中输入字符串 请输入字符串 来初始化创建的一维数组! Item &i )

  Next

  Button Enabled = True

  Button Enabled = True

  DisplayArray ( arrString )

  End Sub

   用下列的代码替换Form vb中Button 组件的Click事件对应的处理代码 下列代码的功能是创建一个二维数组 并进行初始化

  Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click

  Dim arrDate ( ) As String = 星期一 号 星期二 号

   创建一个二维数组 并初始化

  MsgBox ( arrDate ( ) )

   访问这个二维数组中的元素

  End Sub

   用下列的代码替换Form vb中Button 组件的Click事件对应的处理代码 下列代码的功能是首先定义一个名称为 DisplayArray 的过程 此过程能够对给定的一维数组中的数据进行排序 并通过ListBox显示出来 其次是定义Button 的Click事件 在此事件中对调用DisplayArray过程 对一维数组中的数据进行排序

   定义一个过程 过程的功能是通过ListBox组件显示给定的字符串数组中各元素

  Sub DisplayArray ( ByVal myString ( ) As String )

  ListBox Items Clear ( )

  Dim Temp As String

  For Each Temp In myString

  ListBox Items Add ( Temp )

  Next

  End Sub

  Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click

  Array Sort ( arrString )

  DisplayArray ( arrString )

  End Sub

  

   用下列的代码替换Form vb中Button 组件的Click事件对应的处理代码 下列代码的功能是重新定义一维数组

  Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click

  ReDim Preserve arrString ( )

   请注意Preserve关键字的作用

  Dim i As Integer

  For i = To

  arrString ( i ) = InputBox ( 请在下面文本框中输入字符串 请输入字符串 来初始化重新创建的一维数组! Item &i )

  Next

  DisplayArray ( arrString )

  End Sub

   保存上面的所有修改 至此【数组】项目的全部工作就完成了 此时单击快捷键F 运行程序 图 图 是程序编译后的运行界面

  

  图 输入字符串来初始化一维数组的界面

  

  图 对一维数组中的各元素进行排序后的界面

  八.总结

cha138/Article/program/net/201311/12527

相关参考

知识大全 在VB.Net中创建使用控件数组

在VB.Net中创建使用控件数组  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一首先创建一个But

知识大全 VB.NET编程中调用Windows API

VB.NET编程中调用WindowsAPI  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Windo

知识大全 用VB.NET将字节数组转换为字符串

用VB.NET将字节数组转换为字符串  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近我说明了

知识大全 vb.net实现sqlite数据库编程示例

   在项目开发中充分体会到了一个精简数据存储模块的重要性及实用性在综合了三年开发经验的基础上向各位推介一下sqlite数据库希望更多的程序猿支持开源精神 &n

知识大全 VB.NET 拖动无边框窗体编程实例

VB.NET拖动无边框窗体编程实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    Impor

知识大全 VB.NET的Object Oriented编程内功心法

VB.NET的ObjectOriented编程内功心法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 VB.Net编程入门之Hello World(1)

VB.Net编程入门之HelloWorld(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 VB.Net编程入门之Hello World(2)

VB.Net编程入门之HelloWorld(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 VB.Net编程入门之Hello World(4)

VB.Net编程入门之HelloWorld(4)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 VB.Net编程入门之Hello World(3)

VB.Net编程入门之HelloWorld(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!