关于数组的认识(清除错误)!!

以前一直搞不明白,VBA中的数组到底是什么,尤其是数组中的维度问题,更是感觉乱的很,总搞不清楚维度到底是按行定义还是按列定义,比如myArr(1 to 5, 1 to 3)数组,它是几维的?以前一直以为既然是5行3列,所以应该是5维的,这种认识当然是错误的了,但不知道什么原因,一直按这样来理解着用它来解决问题,但也一直没有出错.

现在终于明白,一维就是数学上的x轴坐标系;二维数组(先定义行,后定义列)就是数学上的xy坐标系;三维就是数学上的xyz坐标系(有点类似,行/列/表的集合).至于上面提到的1 to 5,只是行数为5行,而1 to 3只是列数为3列而已.

'---------------------------------------------------------------------------------------
' Procedure : 验证多维数组中的维度
' Author    : Administrator
' Date      : 2013-12-9 18:21
' Purpose   : 验证多维数组中的维度到底是按行还是按列?虽然不影响编写代码,但一直感觉别扭.
'---------------------------------------------------------------------------------------
'
Sub 验证多维数组中的维度()
    Dim myArr(1 To 5, 1 To 3) As Integer
    Debug.Print "第1维的上限是:" & UBound(myArr, 1) & "  " & "第1维的下限是" & LBound(myArr, 2)
    Debug.Print UBound(myArr, 2)
    '一维是行,二维是表(先行后列),三维是(行/列/表集合)
    '根本不是什么按行还是按列的问题,把维度理解为数学上的坐标系就可以(一维就是x轴坐标系
    '二维就是xy坐标系,三维就是xyz坐标系)
    '书读百遍,其义自现!!
End Sub


看来好书还是要多读,重复的读,反复的读,尤其是学习新东西时,不会贪多,不要贪快,静下心来,细细研读,定有收获.

posted @ 2013-12-09 18:40  surfacetension  阅读(390)  评论(0编辑  收藏  举报