好吧,所以我习惯了PHP,我可以声明像$something[0][1] = "test";
这样的多级数组。我需要能够完成同样的事情,但我正在使用VB.NET。我该怎么做?
对不起,如果这不是多维数组的话,我可能错了它的名字,但这就是我想要做的。
谢谢!
答案 0 :(得分:1)
VB.Net中的多维数组......
Dim twoDimensionalArray(10, 10) As String
twoDimensionalArray(0, 1) = "test"
但是,我很少使用数组。通常可以使用Lists,Dictionaries或两者的组合来实现更优雅的解决方案。
更新。
(10, 10)
是数组的上限(大小实际上是11,0到10)。如果未指定边界,则在添加数组时必须Redim Preserve
数组。这是关于列表的一件好事,您不必指定初始大小,您可以自由添加它们。
以下是列表清单的快速示例。
Dim listOfLists As New List(Of List(Of String))
listOfLists.Add(New List(Of String)(New String() {"a", "b", "c"}))
listOfLists.Add(New List(Of String)(New String() {"d", "e", "f"}))
listOfLists.Add(New List(Of String)(New String() {"g", "h", "i"}))
'listOfLists(0)(0) = "a"
'listOfLists(0)(1) = "b"
'listOfLists(2)(1) = "h"
答案 1 :(得分:0)
只是一个动态调整数组大小的简单示例
Dim arr(0)() As String '** array declaration
For i As Integer = 0 To 100 '** Outer loop (for the 1st dimension)
For j As Integer = 0 To 1 '** inner loop (for the 2nd dimension)
ReDim Preserve arr(i) '** Resize the first dimension array preserving the stored values
ReDim Preserve arr(i)(j) '** Resize the 2nd dimension array preserving the stored values
arr(i)(j) = String.Format("I={0},J={1}", i, j) '** Store a value
Next
Next
在.NET中,数组通常是静态的,不会自动调整大小。 (例如在Javascript等中)因此,每次要添加新项目时都需要手动调整数组大小,或者在开头指定大小。