声明多维数组

时间:2015-06-18 19:25:40

标签: vb.net multidimensional-array

我想循环到一个数组并填充一些数据。但是我还没知道,当我事先不知道宽度时如何声明一个多维数组。

这就是我现在所拥有的。

Dim Items()() As String
        For y As Integer = 0 To object.Count - 1
            Items(y)(0) = "something"
            Items(y)(1) = "something"
            Items(y)(2) = "something"
            Items(y)(3) = "something"
            Items(y)(4) = "something"
            Items(y)(5) = "something"
            Items(y)(6) = "something"
 Next

我被建议用(X,X)来做,但我不知道如何在没有宽度的情况下声明这个。 我该怎么做?

1 个答案:

答案 0 :(得分:2)

看起来你想要一个二维数组来跟踪多个字符串数组。如果你知道你将拥有的阵列的总数,你可以这样做:

Dim Items(object.Count - 1, 6) As String
For y As Integer = 0 To object.Count - 1
    Items(y, 0) = "something"
    Items(y, 1) = "something"
    Items(y, 2) = "something"
    Items(y, 3) = "something"
    Items(y, 4) = "something"
    Items(y, 5) = "something"
    Items(y, 6) = "something"
Next

老实说,使用List (Of List(Of String))会更好,因为多维数组必须在初始化时声明第一个索引的上限。第二个索引的上限可以重新修改。

使用列表设置类似于:

Dim Items As New List(Of List(Of String))
For y As Integer = 0 To object.Count - 1
    Dim tmpList As New List(Of String)
    tmpList.Add("something")
    tmpList.Add("something")
    tmpList.Add("something")
    tmpList.Add("something")
    tmpList.Add("something")
    tmpList.Add("something")
    tmpList.Add("something")
    Items.Add(tmpList)
Next

或者,更好的是,正如上面评论中提到的the_lotus,如果可能的话创建一​​个类来保存7(或多个)值进入内部列表或数组,那么你只需要一个List(Of String)来抓住每个实例。