LINQ: obtention de clés pour une liste donnée de valeurs du dictionnaire et vice versa

Je avoir la structure suivante dans mon code Dictionary<TKeys, TValues> data;.
Je exécutez des requêtes LINQ sur les deux types de données et ont souvent besoin de basculer entre les Keys et Values.
Quelle est la meilleure façon d'obtenir la liste des Clés pour les Valeurs et vice-versa?
S'il vous plaît, remarquez, que j'ai l'habitude de 'IEnumerable" et "IEnumerable' la suite de mon précédent requêtes LINQ et je voudrais avoir quelque chose comme IEnumerable<TKeys> Dictionary.GetAllKeys(IEnumerable<IValues> vals) et IEnumerable<TValues> Dictionary.GetAllValues(IEnumerable<IKeys> keys).

Peut-être que j'ai besoin d'autres données de conteneur pour cette tâche?

Ce qui concerne,
Alexander.

source d'informationauteur Alexander Galkin