如何将字典转换为查找

本文关键字:查找 转换 字典 | 更新日期: 2023-09-27 18:32:53

我有一个有签名的字典:Dictionary<int, List<string>> .我想将其转换为带有签名的查找:Lookup<int, string> .

我试过了:

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

但这并不奏效。

如何将字典转换为查找

您可以使用:

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

(您可以使用KeyValuePair而不是匿名类型 - 出于格式原因,我大多不使用。

这很丑陋,但它会起作用。不过,您可以替换创建字典的任何代码吗?那可能会更干净。