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

时间:2009-09-25 10:58:26

标签: vb.net multidimensional-array

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

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

我知道我可以使用矩形数组来执行此操作,但我希望能够在此对象上使用indexOf操作。 VB.Net中有没有这样的结构?

WT

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以使用词典执行此操作。

答案 2 :(得分:0)

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

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")