Linq查询一次从字典中获得一个重复的键和多个值
本文关键字:一个 一次 查询 字典 Linq | 更新日期: 2023-09-27 18:00:37
我有以下字典:
Dictionary<int, string> selectedDrivers = new Dictionary<int, string>()
{
{ 1, "Michael Schumacher" },
{ 2, "Michael Schumacher" },
{ 3, "Jensen Button" }
};
我试图实现的是一个linq查询,它将查找重复项,只检索一次名称,以及该重复项的位置。因此,例如,以上将导致"Michael Schumacher" 1 2
。我希望结果进入Dictionary<string, List<int>>
。
我很快就兴奋起来了,我写的这个小金块似乎朝着正确的方向发展,除了我有两次迈克尔·舒马赫。它还没有出现在Dictionary<string, List<int>>
中
var a = selectedDrivers.GroupBy(a => a.Value).
Where(b => b.Count() > 1);
var a = selectedDrivers.GroupBy(a=>a.Value)
.Where(g=>g.Count() > 1)
.ToDictionary(g => g.Key, g => g.Select(a=>a.Key).ToList());