2010-10-12 7 views

Répondre

6

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() 
+0

Malheureusement, cela ne semble pas fonctionner dans .net 2.0 – chris

+0

@ 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. –

4

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() 
2
Dim myHash As New Hashtable() From { 
     {"key1", "value1"}, {"key2", "value2"} 
    } 
+2

Pourriez-vous ajouter du texte expliquant pourquoi cela fonctionne? – nikaltipar

+2

explication s'il vous plaît – Muhammed

Questions connexes