Comment convertir un dictionnaire en une recherche?

J’ai un dictionnaire qui a une signature: Dictionary<int, List> . Je voudrais le convertir en recherche avec une signature: Lookup .

J’ai essayé:

 Lookup loginGroups = mapADToRole.ToLookup(ad => ad.Value, ad => ad.Key); 

Mais cela ne fonctionne pas si bien.

Vous pouvez utiliser:

 var lookup = dictionary.SelectMany(p => p.Value .Select(x => new { p.Key, Value = x})) .ToLookup(pair => pair.Key, pair => pair.Value); 

(Vous pouvez utiliser KeyValuePair au lieu d’un type anonyme – je ne l’ai surtout pas fait pour des raisons de formatage.)

C’est assez moche, mais ça marcherait. Pouvez-vous remplacer le code créé par le dictionnaire pour commencer? Ce serait probablement plus propre.