L'extraction des valeurs de Dictionnaire<string, List<string>>
J'ai du dictionnaire avec des clés contenant une liste de chaînes de caractères.
Dictionary<string, List<string>> keyValueListDict=new Dictionary <string,List<string>>();
List<string>valueList = new List<string>();
Mon keyValueListDict
est rempli avec des clés uniques et valueLists. Pour chaque entrée du dictionnaire, j'ai besoin de générer la clé suivi par le contenu de la liste (de la valeur).
Mise à jour: je pense que le problème vient d'entrer les valeurs
Donc, je suis à la récupération d'un objet à partir de ma db
foreach(object)
{
key=object.key;
foreach(string value in object.othercomponent)
{
list.add(value);
}
keyValueListDict.add(key,list);
list.clear();
}
Le comte pour les valeurs dans la liste remet à 0 à chaque fois que j'ai effacer la liste afin que je puisse le remplir pour l'objet suivant, mais je ne peux pas comprendre comment éviter ce
- Vous êtes juste essayer de faire un géant
List<string>
? - Non, pour chaque clé, je suis outputtuing la clé et les valeurs dans la liste associée à cette clé, puis-je réinitialiser la chaîne.
- Ce n'est pas tout à fait clair que le résultat final que vous recherchez est, comme un résultat que vous avez comme 5 réponses toutes faites quelque chose de légèrement différent. Voulez-vous une chaîne qui est une concaténation de la valeur de chaque ou chaque paire clé-valeur? Ou vous ne vous en voulez une liste avec chaque valeur, ou chaque paire clé-valeur? Chaque solution est ici, il me semble, mais vous devriez essayer d'être un peu plus explicite la prochaine fois.
- J'ai besoin de générer des valeurs d'une clé spécifique, désolé si je n'ai pas à me faire comprendre plus tôt. Donc j'ai déjà la clé, et j'ai besoin de générer les valeurs de clé spécifique dans une chaîne de caractères.
InformationsquelleAutor PrOjEkTeD | 2015-03-26
Vous devez vous connecter pour publier un commentaire.
Essayer quelque chose comme cela pour créer une chaîne de sortie du dictionnaire de la clé d'entrée, suivi par les valeurs combinées.
Si vous n'avez eu de la clé (et non la totalité de l'
KeyValuePair
), vous pouvez créer une copie de votre dictionnaire avec quelque chose comme (voir aussi cette question sur l'obtention d'unKeyValuePair
directement à partir d'un dictionnaire)Si vous avez besoin à la sortie de la totalité du dictionnaire, vous pourriez faire quelque chose comme ceci:
De travail .NET violon
String value = String.Join( ",", keyValueListDict[key].ToArray());
Console.WriteLine(combindedString)
mais qu'est-ce quecombindedString
? Vous avez appelé l'autre choseoutputString
. Regarde ce .NET violonKeyValuePair
. Et c'est seulement à la force dans le formulaire de la méthode accepte. AKA la paresse.Essayez ceci:
Essayez ceci:
C'est l'approche de base pour effectuer une itération sur un dictionnaire:
List
?Je dispose de ce problème aujourd'hui, et je n'aimais pas être forcé de changer ma structure de données, j'ai vraiment envie de maintenir le
List<string>
. Cela a fonctionné pour moi.Je voulais juste une ligne, donc j'ai viré sur le
FirstOrDefault()
à la fin, depuis la dernière sélectionnez ramènera une liste delist<string>
et je veux juste un (ou null si non trouvé).Espère que cela vous aide.