私はあなたの質問を見つけたので、今までに解決したかもしれません。そうでない場合は、私が演奏しているものの次の抽出物が役に立ちます。ここでは、内部にギザギザの2D配列を持つ通常の2D配列があります。私はあなたが必要としないビットを取り除き、あなたの要件に関連するビットを理解することができると信じています。
私はギザギザのアレイを含む構造を有する:
Structure Sabc
Dim def()() As Long
Dim ghi As String
End Structure
Iは、これらの構造の非ぎざぎざの2D配列を有する:
Dim abc(,) As Sabc
を私がABCの必要なサイズを計算することができます私のプログラムの先頭:
ReDim abc(sizeD1abc, sizeD2abc)
私は簡単にABCの要素内の単純な変数にアクセスすることができます:
With abc(crntD1abc, crntD2abc)
.ghi = "Example"
End With
ジャグ配列の最初の次元は、常に私はそれを設定し3の上限があります。
With abc(crntD1abc, crntD2abc)
.def = New Long(3)() {}
End With
私はそれが資源空腹のコマンドであるため、その必要はより頻繁にReDimステートメントを使用しないでください。ここでは、要素の数を10で初期化してステップを踏みますが、私が選択する値は配列の大きさと実際のサイズがどれだけ変わるかによって決まります。私は値を格納する前にそれらを必要とする場合
With abc(crntD1abc, crntD2abc)
.def(crntD1def) = New Long(9) {}
End With
crntD2def = -1
次は、より多くの要素を追加します。
私は余分な要素を破棄し、終了した
With abc(crntD1abc, crntD2abc)
crntD2def +=1
If crntD2def > UBound(.def(crntD1def)) Then
ReDim Preserve .def(crntD1def)(UBound(.def(crntD1def)) + 10)
End If
.def(crntD1def)(crntD2def) = expression
End With
:これはすべき、
With abc(crntD1abc, crntD2abc)
If crntD2def < UBound(.def(crntD1def)) Then
ReDim Preserve .def(crntD1def)(crntD2def - 1)
End If
End With
可能性の重複をGoogleにはかなり簡単です:http://stackoverflow.com/questions/4255308/building-a-multidimensional-array-in-vb-net –
ギザギザの配列は同じではありませんが、ありがたいです。 – Meowbits
誰かがこの記事をチェックアウトするまで、心配することはありません:http://msdn.microsoft.com/en-us/library/2s05feca.aspx –