我正在研究一個涉及具有所有具有不同屬性的字符集合的項目,我想將其放入一個表格中。我創建了一個名爲Character的類,但我希望能夠創建一個數組,其中包含每個屬性的名稱以及分配給它們的整數值。我試圖使用嵌套數組來做到這一點,但我有問題創建一個數組與整數和字符串混合。在試圖將標籤更改爲數組中的元素時,它給了我例外說我不能在字符串的1維數組之間進行轉換。如何在Visual Basic中使用數組或其他設備來使用字符串和整數填充表格?
想法?
我正在研究一個涉及具有所有具有不同屬性的字符集合的項目,我想將其放入一個表格中。我創建了一個名爲Character的類,但我希望能夠創建一個數組,其中包含每個屬性的名稱以及分配給它們的整數值。我試圖使用嵌套數組來做到這一點,但我有問題創建一個數組與整數和字符串混合。在試圖將標籤更改爲數組中的元素時,它給了我例外說我不能在字符串的1維數組之間進行轉換。如何在Visual Basic中使用數組或其他設備來使用字符串和整數填充表格?
想法?
如果您正在使用Visual Basic .NET和簡單需要創建的字符串/整型對,那麼通用字典是結構,你需要:
Dim aList As New Generic.Dictionary(Of String, Integer)
aList.Add("Attribute1", 123)
aList.Add("Attribute2", 456)
aList.Add("Attribute3", 789)
Dim iValue As Integer = aList("Attribute2") '456
它是強類型的和值是由他們的鍵方便地訪問。
UPDATE下面是更普遍的做法是可以接受可變數量的不同類型的值的每一個給定的鍵。也可以在你需要的類中實現。
首先定義這樣一個類:
Public Class MyClass1
Private m_aMyList As Generic.Dictionary(Of String, ArrayList)
Public Property MyList As Generic.Dictionary(Of String, ArrayList)
Get
Return m_aMyList
End Get
Set(ByVal value As Generic.Dictionary(Of String, ArrayList))
m_aMyList = value
End Set
End Property
Public Sub InitList()
m_aMyList = New Generic.Dictionary(Of String, ArrayList)
End Sub
Public Sub AddValuesToList(i_sKey As String, ParamArray i_aValues() As Object)
Dim arrList As New ArrayList
For Each o As Object In i_aValues
arrList.Add(o)
Next
m_aMyList.Add(i_sKey, arrList)
End Sub
Public Function GetListByKey(i_sKey As String) As ArrayList
Return m_aMyList(i_sKey)
End Function
End Class
它定義保存列表,3種方法的公共屬性 - 以initalize列表,將值添加到列表中,並檢索值。
當類被這樣定義時,可以使用它,以便:
Dim myObj As New MyClass1
myObj.InitList()
myObj.AddValuesToList("Attribute1", 1, "a", 2, 3, "bbb")
myObj.AddValuesToList("Attribute2", "eee", 34, 23, "aqaa")
myObj.AddValuesToList("Attribute3", 1, 2, 3, 4, 5, "qqq")
For Each o In myObj.GetListByKey("Attribute2")
If TypeOf (o) Is Integer Then
'perform action on integer values
ElseIf TypeOf (o) Is String Then
'perform action on string values
End If
Next
在本例中實例化一個類,初始化列表中,添加3項具有可變混合值,然後保持該列表從列表中選擇第二項並循環顯示其值。
那些能夠有多個字符串和整數作爲條目?我需要一個字符串,字符串,整數,整數,每個鍵的整數項。 – user2701892
這個序列「字符串,字符串,整數,整數,整數」對於所有的密鑰都是相同的,或者某些密鑰可能具有不同的序列,例如「整數,字符串,整數,整數等等」。和可變數量的元素? –
它可能是一樣的,但它有可能不是?此外,我也干擾了字典,但我試圖把它作爲一個類的屬性。那可能嗎? – user2701892
通過基本你的意思是VB.NET? –