假设一维数组是一条线上的一个点,它只具有一个索引就可以确定位置;
那么二维数组就是一个平面上的一个点,那么它需要两个索引来确定位置;
三维数组就是立体上的一个点,需要三个索引来确定位置;
四维数组就得还加上一个点;
依次类推。。。。
当然我们理解有限,实际生活中也就关心的是三维空间,有些人关注的多一点,关注四维空间,也就是长、宽、高、时间。再更少更少的人,关注更多维空间,维度越多也就越复杂。
以上纯属自己的理解。
我们普通人能用到多维数组的时候很少,下面就谈谈二维数组。
还是以学校学生为例
一维数组的时候我们举例说了一个班的学生,这次以一个年级学生举例:
假设班级序号为一个维度,学生序号为一个维度,就构成了二维数组
以下定义了XX学校1年级的学生姓名数组,
该年级共5个班,每个班40个学生:
Dim students(4,39) As String
students(0,0) = "张三"
students(0,1) = "李四"
students(0,2) = "王二麻子"
students(0,1) = "李四"
students(0,2) = "王二麻子"
。。。。
students(1,0) = "学生甲"
students(1,1) = "学生乙"
students(1,2) = "学生丙"
students(1,1) = "学生乙"
students(1,2) = "学生丙"
。。。。
以下代码说明如何操作二维数组:
Sub Main() Dim students(2,3) As String For i As Integer = 0 To 2 For j As Integer = 0 To 3 students(i,j) = (i + 1) & "班第" & (j + 1) & "号学生" Next Next Dim classStudents As String For i As Integer = 0 To 2 classStudents = "" For j As Integer = 0 To 3 classStudents &= students(i,j) & " " Next Console.WriteLine(classStudents) Next Console.ReadKey() End Sub
简化起见,我把该年级的班级缩小到了3个,每个班学生4人。运行结果如下:
如果以学校的角度看,可以做成三维数组,students(年级序号,班级序号,学生序号);
如果以地区的角度看,可以做成四维数组,students(地区序号,年级序号,班级序号,学生序号);
。。。。。
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看 vb.net 教程 目录