Возможно ли создать хэш-таблицу «предварительно заполненную» значениями?Создание хэш-таблицы со значениями в VB.NET
То есть, что-то вроде:
dim myHash as new Hashtable() = {"key1", "value1", "key2", "value2" }
Возможно ли создать хэш-таблицу «предварительно заполненную» значениями?Создание хэш-таблицы со значениями в VB.NET
То есть, что-то вроде:
dim myHash as new Hashtable() = {"key1", "value1", "key2", "value2" }
Прежде всего, Hashtable теперь старые. Вместо этого используйте Dictionary(Of TKey, TValue)
. Что же касается вашего вопроса, то с Visual Studio 2010 можно использовать новый collection initializer синтаксис:
Dim myDict As New Dictionary(Of Integer, String) From {{1, "One"}, {2, "Two"}}
Поскольку вы на .NET 2.0, вы не можете использовать этот синтаксис (вы можете и должны по-прежнему использовать общий словарь), и поэтому лучше использует метод, чтобы скрыть его:
Function CreateDictionary() As Dictionary(Of Integer, String)
Dim d As New Dictionary(Of Integer, String)
d.Add(1, "One")
d.Add(2, "Two")
Return d
End Function
Dim myDict As Dictionary(Of Integer, String) = CreateDictionary()
Самый простой путь для достижения этой цели является фактором кода из в функции
Function CreateHashtable() As Hashtable
Dim table = new HashTable()
table.Add("key1", "value1")
table.Add("key2", "value2")
return table
End Function
Dim myHash As Hashtable = CreateHashtable()
Dim myHash As New Hashtable() From {
{"key1", "value1"}, {"key2", "value2"}
}
Не могли бы вы добавить текст о том, почему это работает? – nikaltipar
информация пожалуйста – Muhammed
к сожалению, это не появляется на работе в .net 2.0 – chris
@ Крис - Я обновил свой вопрос, чтобы включить это ограничение. Если вам нужна определенная версия фреймворка, пожалуйста, включите эту информацию в будущем. Я тоже обновлю свой ответ, но теперь он будет похож на Джареда. –