3

多次元配列に値を割り当てる簡単な方法が見つかりません。それはこのように動作します:

Dim tTableArray(2, 14) As String
tTableArray(0, 0) = "John"
tTableArray(1, 0) = "Doe"

しかし、私は次のようなことができるはずです:

Dim tTableArray(2, 14) As String
tTableArray({0, 1}, 0) = {"John", "Doe"}

配列を定義しているときに、たとえば次のことができるため、それを行う方法はないようです。

Dim values(,) As String = New String(,) {{"John", "Doe"}, {"Jane", "Doe"}, {"Spot", "the Dog"}}

何か案は?申し訳ありませんが、最初の質問です。コード ブロックをコードのように見せる方法を理解する必要があります。

ありがとう、クリス

4

1 に答える 1

2

それを割り当てる組み込みの方法はわかりませんが、自作のサブも同じくらい良いかもしれません。拡張の提案:

Imports System.Runtime.CompilerServices  
Module Module1

    <Extension()>
    Public Sub setRow(p(,) As Object, pRow As Integer, pValues As Object())
        If p.GetLength(1) >= pValues.Length Then
            For i As Integer = 0 To pValues.Length - 1
                p(pRow, i) = pValues(i)
            Next
        End If
    End Sub

End Module

使用法:

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim x(,) As String
        ReDim x(2, 4)

        x.setRow(0, {"Mr.", "", "John", "Doe", "-"})
        x.setRow(1, {"Ms.", "Dr.", "Sue", "Smith", "-"})
        ' ...
于 2012-10-29T16:26:02.093 に答える