J'ai un code comme celui-ci.
string s = ht["LSN"][0];
7 Réponses :
Je pense que vous voulez utiliser un dictionnaire typé générique plutôt qu'une haquetable: ceci devrait compiler correctement. p> sinon vous devez effectuer une distribution telle que : p>
+1 pour le dictionnaire. C'est le meilleur type de montage de ce type de problèmes.
Magasins HASHTABLE OBJETS UNTTYPETE: vous auriez besoin de repousser la valeur que vous avez lisée dans une matrice à chaîne, par exemple
Dictionary<string, string[]> ht = new Dictionary<string, string[]>(); ... string s = ht["LSN"][0];
Votre ht ["lsn"] [0] code> vous retournera un tableau de chaînes. Vous devez donc ajouter un autre indexeur pour obtenir une valeur appropriée.
((string[])ht["LSN"][0])[0]
Etant donné que mais vous seriez probablement mieux en utilisant un Conteneur fortement typé comme suggéré par Nick a>. p> p> HASHTABLE code> Les contenus sont exposés sous forme d'objet code> code> vous devez lancer:
the indexer du qui dit, envisagez d'utiliser le générique Hashtable code> La classe renvoie toujours une instance de
objet code>. Vous devrez lancer cet objet à un tableau de chaînes:
Dictionnaire
classe à la place. P> p> p>
string[] aStrings = (string[])ht["LSN"]; string s = aStrings[0];
Votre HASHTABLE est d'un objet de type .. Lorsque vous essayez d'accéder à la matrice, vous obtiendrez une erreur car l'objet ne prend pas en charge la syntaxe d'accesseur de tableau que vous utilisez. Si vous avez utilisé un dictionnaire, comme expliqué dans d'autres réponses, vous pouvez utiliser des génériques pour définir que vous utilisez des tableaux de chaîne Rathe que des objets, ce qui fonctionnera comme vous le souhaitez.
Alternativement, vous pouvez lancer vos variables comme ceci: p> Cela vous donnera l'accès à la température que vous désirez. p> p>