十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对数组进行操作的能力在任何编程语言中都很重要 VB NET与其它语言相似 提供了简单的途径对数据进行分组 将它们存放到数组结构中 本文中 我们将回顾数组的声明和使用
我们拥有十年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都做网站、成都网站设计、微信开发、小程序开发、手机网站制作设计、H5高端网站建设、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
数组的目的
数组通常用于存储相似类型的值和对象 它允许对变量进行分组 并且允许使用索引进行检索 数组有上界和下界 它用于指示数组的开始索引值和结束索引值 另外 数组中的数据可以按序排列 简单的数组是一维的 当然 在VB NET中也可以使用多维数组 还可以对数组进行循环 以确定或修改存储在数组中的某个值
数组的声明和初始化
有两个途径初始化数组 第一 在一条声明语句中进行声明同时初始化;第二 先声明数组 然后对其进行初始化
在一条语句中同时声明和初始化数组时 必须指定数组元素的数值类型 以及数组所包含元素的个数 VB NET中 数组是基于 的 这也就是说 数组的索引编号从 开始 其后元素进行连续编号 必须通过指定数组的上界确定数组中元素个数 上界是指定数组中最后一个元素索引的数字 Listing A给出了整型数组的声明和初始化示例
对数字进行声明和初始化的另外一个途径是 在分开的两步中分别进行声明和初始化操作 如果声明了一个数组 但是在这一行没有指定其大小 则在初始化时 需要对数组中的每一个单元都指定值 初始化值封装在{}括号中 两个值之间使用逗号做为分隔符 Listing B给出了在不同的两步对数组进行声明和初始化的示例
数组的声明和初始化一旦完成 则可以在运行时重新定义数组 从而改变其大小 可以使用ReDim声明改变数组结构中元素的个数 Listing C给出了声明 初始化和重新调整数组大小的示例
默认情况下 数组进行重新初始化后 原来的数值都会丢失 但是 在重新初始化时 可以使用ReDim声明和Preserve关键字保留数组的原有数值 Listing D中给出了一个这样的示例
lishixinzhi/Article/program/net/201311/11829
很可能是你的Vb程序中有Option Base语句。
vb点虐 的数组基数都是从0开始的,并且不支持 Option Base 语句。
VB6.0控件数组索引号是在空间的属性窗口的Index 属性处设置。
Index 属性(控件数组),返回或设置唯一地标识控件数组中一个控件的编号。仅当控件是控件数组的元素时是有效的。
虽然缺省状态下 Visual Basic 分配下一个可用的整数作为控件数组中新的控件的 Index 的值,但也可以改变该分配值并跳过一些数。也可以为数组中的第一个控件的
Index 设一个非 0 的整数。如果在代码中引用一个 Index 的值而在控件数组中没有所标识的控件,那么将产生一个Visual Basic 运行时错误。
Index 属性区分控件数组中的元素。当数组中的一个控件识别了一个事件时,Visual Basic将调用公共事件过程并传递一个参数(Index 属性的值),分辨是哪个控件识别事件。
例如,Number_Click 事件过程的第一行代码是这样的:
Private Sub Number_Click (Index As Integer)
如果 Number(0) 识别事件,则 Visual Basic 将 0 作为 index 参数传递,而如果 Number(1) 识别事件,则 Visual Basic 将 1 作为 index 参数传递。
Index 属性示例
该例子开始时有两个 OptionButton 控件,并在每次单击 CommandButton 控件时在窗体中加入一个新的OptionButton。当单击一个 OptionButton 时,FillStyle
属性被设置并且画一个新的圆。要试用此例,将下面的代码粘贴到具有两个 OptionButton 控件、一个 CommandButton、以及一个大的 PictureBox
控件的窗体的声明部分之中。将两个 OptionButton 控件的 Name 属性都设置为 Option1
以创建一个控件数组。
Private Sub Option1_Click(Index As Integer)
Dim H, W '声明变量。
Picture1.Cls '清除图片。
Picture1.FillStyle = Index '设置 FillStyle。
W = Picture1.ScaleWidth / 2 '获取圆的大小。
H = Picture1.ScaleHeight / 2
Picture1.Circle (W, H), W / 2 '画圆。
End Sub
Private Sub Command1_Click()
Static MaxIdx '数组中的最大索引值。
If MaxIdx = 0 Then MaxIdx = 1 '预置 MaxIdx。
MaxIdx = MaxIdx + 1 '索引值增加 1 。
If MaxIdx 7 Then Exit Sub '在窗体中放置八个按钮。
Load Option1(MaxIdx) '在数组中创建新的项。
'在前一个按钮下面设置新选项按钮的位置。
Option1(MaxIdx).Top = Option1(MaxIdx - 1).Top + 360
Option1(MaxIdx).Visible = True '使新的按钮可见。
End Sub
你对For Each的使用没有明确
你这里的意思是指,,i属于a数组,所以,i会是2,也会是4,也会是6,也会是8,也会是10,也会是12.。。。如果 再用a(i)去 索引数组中的数据肯定会超出索引范围
你这个改,把
sum += a(i)
改成:
sum += i
就可以了