二维数组,只分配一个维

时间:2015-07-20 19:50:41

标签: arrays vb.net

在Javascript中,我们可以执行以下操作来创建二维数组,然后在第一个数组的第一个位置指定一个值。

var some_array = [[]]
x[0] = ["a", "b", "c"]

我已经看到这在VB.NET本身无法完成(或者我可能找不到如何)。

Dim some_array As String(,)
some_array(0) = {"a", "b", "c"}

然后我得到一个错误,告诉我没有指定数组的两个维度。

有没有办法在VB NET中实现这一点?

2 个答案:

答案 0 :(得分:3)

Javascript没有多维数组。相反,它有一个数组数组,也就是锯齿状数组。在vb.net中,二维数组的字符串定义如下:dim mystring(,) as string,而锯齿状的字符串数组定义如下:dim mystring()() as string。使用锯齿状数组,第一行"行"是一个数组,每个单元格包含一个数组,因此可以初始化一个"列"。

多维和锯齿状数组之间的区别还在于,锯齿状数组可以有不同长度的“#34;列”,因为每列都是1d数组。多维数组不是这种情况,它的所有列都必须具有相同的长度。
这也证明了我对javascript的看法,因为以下代码行是有效的:

var a =[[1,2],[4,5,6],[1]];

答案 1 :(得分:1)

如何使用Generic.List而不是数组?

Dim some_array As New List(Of List(Of String))
some_array.Add({"a", "b", "c"}.ToList())

否则,您需要提供至少一个维度......

Dim some_array(3)() As String
some_array(0) = {"a", "b", "c"}