VB.Net-多列数据变量对象

VB.Net-多列数据变量对象,vb.net,multidimensional-array,Vb.net,Multidimensional Array,我想在VB.Net中创建一个具有多列的内存中对象。我试图做的是创建一些数据的索引。它看起来像: 第1行:23 1 第2行:5 1 第3排:3 38 我知道我可以用一个矩形数组来做这件事,但我希望能够在这个对象上使用操作参数的索引。在VB.Net中有这样的结构吗 WT如果每行中的单元数是恒定的,并且不需要增加或缩小结构,那么简单的二维数组可能是最佳选择,因为它暴露了最好的局部特征。如果未排序,则可以通过简单的线性搜索实现indexOf。可以使用字典来实现。定义行类,然后创建行列表,如下所示: C

我想在VB.Net中创建一个具有多列的内存中对象。我试图做的是创建一些数据的索引。它看起来像:

第1行:23 1 第2行:5 1 第3排:3 38

我知道我可以用一个矩形数组来做这件事,但我希望能够在这个对象上使用操作参数的索引。在VB.Net中有这样的结构吗


WT

如果每行中的单元数是恒定的,并且不需要增加或缩小结构,那么简单的二维数组可能是最佳选择,因为它暴露了最好的局部特征。如果未排序,则可以通过简单的线性搜索实现indexOf。

可以使用字典来实现。

定义行类,然后创建行列表,如下所示:

Class row
    Inherits Collections.ArrayList
End Class

Dim cols As New List(Of row)
现在,您可以使用x/y符号访问对象:

cols(0)(1)
请注意,这只是一个简单的示例,您的结构未初始化且未类型化

您还可以在自己的类中隐藏IndexOf函数,例如,通过项的名称查找IndexOf:

Class col
    Inherits Generic.List(Of Object)
    Shadows Function IndexOf(ByVal itemName As String) As Integer
        Dim e As Enumerator = Me.GetEnumerator
        While e.MoveNext
            If CType(e.Current, myType).name = itemName Then
                Return e.Current
            End If
        End While
    End Function
End Class
然后,您可以像这样访问它:

Private cols As New col
cols.IndexOf("lookingfor")