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 回答