2013-08-21 16 views
1

我正在研究一個涉及具有所有具有不同屬性的字符集合的項目,我想將其放入一個表格中。我創建了一個名爲Character的類,但我希望能夠創建一個數組,其中包含每個屬性的名稱以及分配給它們的整數值。我試圖使用嵌套數組來做到這一點,但我有問題創建一個數組與整數和字符串混合。在試圖將標籤更改爲數組中的元素時,它給了我例外說我不能在字符串的1維數組之間進行轉換。如何在Visual Basic中使用數組或其他設備來使用字符串和整數填充表格?

想法?

+1

通過基本你的意思是VB.NET? –

回答

0

如果您正在使用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項具有可變混合值,然後保持該列表從列表中選擇第二項並循環顯示其值。

+0

那些能夠有多個字符串和整數作爲條目?我需要一個字符串,字符串,整數,整數,每個鍵的整數項。 – user2701892

+0

這個序列「字符串,字符串,整數,整數,整數」對於所有的密鑰都是相同的,或者某些密鑰可能具有不同的序列,例如「整數,字符串,整數,整數等等」。和可變數量的元素? –

+0

它可能是一樣的,但它有可能不是?此外,我也干擾了字典,但我試圖把它作爲一個類的屬性。那可能嗎? – user2701892

相關問題