[VB学习中]之四:数组与结构

静态一维数组

Dim 数组名(下标) [As 类型]

说明:

(1)下标必须为常数,不可以为表达式或变量。

(2)下标下界最小为-32768,最大上界为32767。

(3)省略下界,其默认值为为0,一维数组的大小为:上界-下界+1。

静态多维数组

Dim 数组名(下标1[,下标2…]) [As 类型]

说明:

(1)下标个数决定数组的维数,最多60维。

(2)数组的大小=每一维大小的乘积。

动态数组

ReDim 数组名(下标1[,下标2…]) [As 类型]

说明:

(1)在动态数组ReDim语句中的下标可以是常量,也可以是有了确定值的变量。

(2)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数

(3)每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。

数组赋值

(1)利用循环结构

Dim A(1 To 10) As Integer

For i=1 To 10

  A(i)=0

Next i

(2)利用Array函数

Dim a As Variant, b As Variant
'Dim a() As Variant,b() '必须变体型,可定义成动态数组

a = Array (1,2,3,4,5)

b = Array ("abc","def","67")

(3)直接将一个数组的值赋值给另一个数组

Dim a(3) as integer, b() as integer
'Dim a(3) as interger,b '只有这两种定义形式才能正常赋值

A(0)=2: A(1)=5: A(2)=-2: A(3)=2

b=a

说明:

(1)赋值号两边的数据类型必须一致。

(2)如果赋值号左边的是一个动态数组,则赋值时系统自动将动态数组ReDim成右边相同大小的数组。

(3)如果赋值号左边的是一个大小固定的数组,则数组赋值出错。


控件数组

(1)控件数组通过索引号(属性中的Index)来标识各控件,第一个下标是0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)……

(2)在编程时通过Load方法添加其余若干个元素,也可以通过Unload删除某个添加的元素。

(3)每个添加的控件数组通过Left 和Top属性,确定其在窗体上的位置,并将Visible设置为True。

自定义数据类型

Type 自定义类型名

  元素名[(下标)] As 类型名

  ……

  元素名[(下标)] As 类型名

End Type

使用形式:Dim 变量名 As 自定义类型名

自定义类型中元素的表示方法是:变量名.元素名

说明:

(1)自定义类型一般在标准模块(.bas)中定义,默认是Public。

(2)自定义类型中的元素可以是字符串,但应是定长字符串。

(3)不可把自定义类型名与该类型的变量名混淆。

(4)注意自定义类型变量与数组的差别:它们都由若干元素组成,前者的元素代表不同性质、不同类型的数据,以元素名表示不同的元素;后者存放的是同种性质、同种类型的数据,以下标表示不同元素。

(5)同种自定义类型变量可以直接赋值,自定义类型数组就是数组中的每个元素都是自定义类型。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB.NET ,初始化四维数组并循环访问其元素可以使用以下代码: ```vb ' 初始化四维数组 Dim fruits(,,,) As String = { {{{"apple", "banana"}, {"cherry", "date"}}, {{"elderberry", "fig"}, {"grape", "honeydew"}}}, {{{"kiwi", "lemon"}, {"mango", "nectarine"}}, {{"orange", "peach"}, {"quince", "raspberry"}}} } ' 循环访问四维数组元素 For i = 0 To fruits.GetLength(0) - 1 For j = 0 To fruits.GetLength(1) - 1 For k = 0 To fruits.GetLength(2) - 1 For l = 0 To fruits.GetLength(3) - 1 Console.WriteLine(fruits(i,j,k,l)) Next Next Next Next ``` 这样就会输出四维数组的每一个元素,即“apple”、“banana”、“cherry”、“date”、“elderberry”、“fig”、“grape”、“honeydew”、“kiwi”、“lemon”、“mango”、“nectarine”、“orange”、“peach”、“quince”和“raspberry”。需要注意的是,GetLength(0)、GetLength(1)、GetLength(2) 和 GetLength(3) 分别返回四维数组的第一维、第二维、第三维和第四维的长度。如果你想按层循环访问四维数组的元素,可以使用以下代码: ```vb ' 按层循环访问四维数组元素 For i = 0 To fruits.GetLength(0) - 1 Console.WriteLine("Layer " & (i + 1)) For j = 0 To fruits.GetLength(1) - 1 Console.WriteLine("Sheet " & (j + 1)) For k = 0 To fruits.GetLength(2) - 1 For l = 0 To fruits.GetLength(3) - 1 Console.Write(fruits(i,j,k,l) & " ") Next Console.WriteLine() Next Console.WriteLine() Next Console.WriteLine() Next ``` 这样就会按层输出四维数组的每一个元素,即“apple banana cherry date”、“elderberry fig grape honeydew”、“kiwi lemon mango nectarine”、“orange peach quince raspberry”。需要注意的是,Console.Write() 方法不会换行,可以在同一行输出多个元素,而 Console.WriteLine() 方法会在末尾添加换行符,可以在下一行输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值