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.