我想在VB.Net中创建一个带有多列的内存中对象。我想要做的是创建一些数据的索引。它看起来像:VB.Net - 多列数据变量对象
行1:23 1 行2:5 1 行3:3 38 ...
我知道我可以使用一个矩形阵列要做到这一点,但我想能够在这个对象上使用indexOf操作。 VB.Net中是否有这样的结构?
WT
我想在VB.Net中创建一个带有多列的内存中对象。我想要做的是创建一些数据的索引。它看起来像:VB.Net - 多列数据变量对象
行1:23 1 行2:5 1 行3:3 38 ...
我知道我可以使用一个矩形阵列要做到这一点,但我想能够在这个对象上使用indexOf操作。 VB.Net中是否有这样的结构?
WT
定义行类,然后创建行的列表,像这样:
Class row
Inherits Collections.ArrayList
End Class
Dim cols As New List(Of row)
现在,您可以访问使用斧/ 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")
如果每行单元的数量是恒定的,你并不需要增长或收缩结构,那么一个简单的二维数组可能是最好的选择,因为它暴露了最好的可能的局部特征。如果未排序,则可以通过简单的线性搜索来实现indexOf。
你可以用Dictionary来做到这一点。