我想在VB.Net中创建一个包含多列的内存中对象。我想要做的是创建一些数据的索引。它看起来像:
第1行:23 1 第2行:5 1 第3行:3 38 ...
我知道我可以使用矩形数组来执行此操作,但我希望能够在此对象上使用indexOf操作。 VB.Net中有没有这样的结构?
WT
答案 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")