J'ai Dictionary<string, HashSet<string>>
que je voudrais passer et trouver toutes les combinaisons dans le HashSet possible sans répétitions. Par exemple (données fictives):Trouver les combinaisons de valeurs dans un dictionnaire de HashSet
Keys Values (HashSet)
"greeting" "Hello" "Hi" "Hey" "Howdy" ...
"Name" "Tom" "Angel" "Edward" ...
"question" "how are you?" "can you help me?" "is everything okay?" ...
... ...
... ....
Je voudrais que la sortie soit une sorte de collection avec chaque valeur:
"Hello Tom how are you?"
"Hello Tom can you help me?"
"Hello Tom is everything okay?"
"Hello Angel how are you?"
"Hello Angel can you help me?"
"Hello Angel is everything okay?"
"Hello Edward how are you?"
...
"Hi Tom how are you?"
"Hi Tom can you help me?"
"Hi Tom is everything okay?"
"Hi Angel how are you?"
...
Je voudrais avoir cette aussi abstraite que possible où je peut ajouter autant de clés et de valeurs dans le hashset que je veux. J'ai essayé de le faire récursivement mais je ne suis pas trop fort avec ça et je ne peux pas trouver de cas de base ... Je pense que vous pouvez le faire avec linq mais je ne suis pas du tout familier avec linq.
La raison pour laquelle je me sers d'un Dictionary<string, HashSet<string>>
est à cause de la façon dont je recueille les informations, donc je voudrais garder cette structure de données.
Merci!
Recherche "permutations". – CodeCaster
double possible de [Génération toutes les combinaisons possibles] (http://stackoverflow.com/questions/3093622/generating-all-possible-combinations) – CoderDennis
@CoderDennis: ce n'est pas exactement ce que je veux, je veux le faire avec un dictionnaire de hashsets que je suis confus sur la façon d'aborder cela. Je voudrais aussi obtenir la première valeur de hashset de la première clé avec la première valeur de hashet de la deuxième clé et ainsi de suite jusqu'à ce que j'atteigne le dernier hashset puis le faire à nouveau sauf avec la deuxième valeur du hashet ... Je ne sais pas si cela a du sens – user3369494