我想在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來做到這一點。