Question

Je veux créer une classe qui aura deux propriétés, par exemple key & value.

Et je veux une méthode qui me donnera un value sur la base key.

Alors, quel est le code? Je sais Hashtable mais comment le mettre en œuvre en C #? Puis-je avoir un string comme une clé?

Était-ce utile?

La solution

Regardez la classe Dictionary<TKey, TValue>: http://msdn.microsoft.com /en-us/library/xfhwa508.aspx

Autres conseils

Voici la meilleure façon de mettre en œuvre ce (j'utilise Int32 comme un exemple d'un type de magasin):

Dictionary<String,Int32> dictionary = new Dictionary<String,Int32>
{
    // this just loads up the list with
    // some dummy data - notice that the
    // key is a string and the value is an int
    { "one", 1 },
    { "two", 2 },
    { "three", 3 },
};

Maintenant, vous pouvez saisir les valeurs du dictionnaire <,> comme ceci:

dictionary["one"]; // returns 1
dictionary["two"]; // returns 2

A Dictionary<string, T> fera tout ce que vous voulez.

Utilisez Dictionary<string, TypeOfYourVAlue>

Il y a quelques implémentations plus aussi bien. Il y a le HashSet qui est conçu pour les opérations de réglage et KeyedCollection qui est une table de hachage facilement sérialisable.

... et aussi System.Collections.Specialized.NameValueCollection, qui est à peu près équivalent à Dictionary<string,string>, mais permet de stocker plusieurs valeurs de chaîne sous la même valeur de clé. Pour citer la documentation MSDN:

  

Cette classe peut être utilisée pour les en-têtes,   chaînes de requête et des données de formulaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top