comment faire une recherche inversée de dictionnaire

J'ai un dictionnaire de type <string, string> et pour un cas particulier, j'ai besoin de faire une recherche inversée. Ainsi, par exemple, supposons que j'ai cette entrée <"SomeString", "ab"> et que je passe dans "ab" ensuite, je voudrais revenir "SomeString".
Avant de m'embarquer sur un foreach boucle sur chaque entrée dans le dictionnaire, je me demandais quel serait le moyen le plus efficace pour ce faire de recherche inversée?

source d'informationauteur frenchie