0

よし、私は PHP に慣れているので、 のようなマルチレベル配列を宣言できます$something[0][1] = "test";。同じことを達成できるようにする必要がありますが、VB.NET を使用しています。どうすればいいですか?

これが多次元配列ではない場合は申し訳ありませんが、それが何と呼ばれているのか間違っているかもしれませんが、それが私がやりたいことです。

ありがとう!

4

2 に答える 2

1

VB.Net の多次元配列...

Dim twoDimensionalArray(10, 10) As String
twoDimensionalArray(0, 1) = "test"

ただし、配列を使用することはめったにありません。通常、より洗練されたソリューションは、ListsDictionaries、または 2 つの組み合わせを使用して実現できます。

更新します

(10, 10)、配列の上限です (サイズは実際には 11、0 から 10 です)。境界を指定しない場合はRedim Preserve、配列に追加する必要があります。これはリストの良い点の 1 つです。初期サイズを指定する必要はなく、自由にサイズを追加できます。

リストのリストの簡単な例を次に示します。

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"
于 2012-06-21T06:25:08.200 に答える
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 など) そのため、新しい項目を追加するたびに手動で配列のサイズを変更するか、最初にサイズを指定する必要があります。

于 2012-06-21T08:51:14.647 に答える