Вот почему вы не хотите использовать Scripting.Dictionary
Dim dict As Scripting.Dictionary = New Scripting.DictionaryClass()
dict.Add("1", 1)
dict.Add(2, "2")
dict.Add(Math.PI, "a")
dict.Add(New Text.StringBuilder(), "builder")
For i = 0 To dict.Count - 1
Console.WriteLine("Key: {0}, Value: {1}", dict.Keys(i), dict(dict.Keys(i)))
Next
Вы можете видеть, что dict.Keys(i)
и dict(dict.Keys(i))
(ключ и значение словаря) могут быть любого типа, которыйa Object (каждого типа).
Хорошо, предположим, что у вас есть все строки.
Dim strKey As String
With dicListValues
For intIndex = 0 To .Count - 1
strKey = .Keys(intIndex).ToString()
Next
End With
(Вы можете управлять им, только добавляя строки, но это не очевидно, если вы не прокомментируете хорошо).
Лучшим решением было бы заменить ваш Scripting.Dictionary на Dictionary (Of TKey, TValue) во всем вашем проекте.Вы можете преобразовать в них свой Scripting.Dictionary с помощью ссылки, которую я комментировал ранее Преобразовать VB6 Scripting.Dictionary в общий словарь .NET