VB中能不能实现一个一维数组,其中的内容还是数组,并且,数组的维数不确定。也就是能不能嵌套起来,外面的定义为Variant。要是可以能不能直接用A=B把B的值赋给A呢。
感觉VB的规矩还真有点烦人,请各位高手不惜赐教!

解决方案 »

  1.   

    楼主想要的东西叫链表以前学pascal的时候用过,是挺好用的,vb里还不知道怎么实现类似的结构。。
      

  2.   

    用自定义数据类型就可以了。
    定义一个数据类型,里面包含一个动态数组,然后申明一个数组的类型是这个新的类型。
    不过能不能直接a=b就不知道了特别是当被赋值的a的动态数组的长度没有redim的时候
      

  3.   

    我刚才测试了一下。好像可以。当被赋值的a没有经过redim的时候也可以
    代码如下:
    Type newarr
        abcd() As String
        lenth As Long
    End TypePrivate Sub Form_Load()
    Dim mynewarr() As newarr
    ReDim mynewarr(3)ReDim mynewarr(1).abcd(10)
    mynewarr(1).abcd(1) = "123"
    mynewarr(1).abcd(10) = "456"
    mynewarr(1).lenth = 10
    mynewarr(2) = mynewarr(1)
    mynewarr(3) = mynewarr(1)
    Text1.Text = mynewarr(2).abcd(1) & mynewarr(3).abcd(10)
    End Sub
    2k+vb6环境下调试通过。text1的内容为123456
      

  4.   

    這是數組的數組,當然是可以的
    你可以定義一個 Dim MyArr AS Variant() 的一維數組,再定義一個一維的數組Tmp(),
    每當你設置好一維以后就可以用 MyArr(X)=Tmp()
    調用的時候可以用 MyArr(X)(Y)來賦值和取值
      

  5.   

    顶楼上的,不过Dim MyArr As Variant()看上去很古怪噢
    Dim MyArr() As Variant 'Variant动态数组
    Dim Arr1(2) As Integer
    Dim Arr2(3) As Integer
    Arr1(0) = 3
    Redim MyArr(1)
    MyArr(0) = Arr1
    MyArr(1) = Arr2
    Debug.Print MyArr(0)(0)
      

  6.   

    同意hhjjhjhj(大头)的,用Collection