Est-il possible de créer une table de hachage "pré-remplie" avec des valeurs?Création d'une table de hachage avec des valeurs dans VB.NET
C'est, quelque chose comme:
dim myHash as new Hashtable() = {"key1", "value1", "key2", "value2" }
Est-il possible de créer une table de hachage "pré-remplie" avec des valeurs?Création d'une table de hachage avec des valeurs dans VB.NET
C'est, quelque chose comme:
dim myHash as new Hashtable() = {"key1", "value1", "key2", "value2" }
Tout d'abord, Hashtable ce sont vieux maintenant. Utilisez plutôt un Dictionary(Of TKey, TValue)
. Quant à votre question, avec Visual Studio 2010, vous pouvez utiliser la nouvelle syntaxe collection initializer:
Dim myDict As New Dictionary(Of Integer, String) From {{1, "One"}, {2, "Two"}}
Puisque vous êtes sur .NET 2.0, vous ne pouvez pas utiliser cette syntaxe (vous pouvez et devriez toujours utiliser un dictionnaire générique), et ainsi votre meilleur pari utilise une méthode pour le cacher:
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()
La meilleure façon d'y arriver est de prendre en compte le code en fonction des
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"}
}
Pourriez-vous ajouter du texte expliquant pourquoi cela fonctionne? – nikaltipar
explication s'il vous plaît – Muhammed
Malheureusement, cela ne semble pas fonctionner dans .net 2.0 – chris
@ Chris - Je mis à jour votre question d'inclure cette contrainte. Si vous avez besoin d'une version particulière du framework, veuillez inclure cette information dans le futur. Je vais mettre à jour ma réponse, mais ça sera similaire à Jared maintenant. –