为了清楚起见,假设我们有学生和类(class),这是一种多对多的关系。
我有一个字典,其中键是学生 id,而 Enumerable 是一个类的集合(假设我们只有 id),我想将其恢复为 classId、students 的字典
有没有办法用 Linq 做到这一点?我可以想出一种用循环来做到这一点的方法,但我相信有一种方法可以做到这一点。
最佳答案
var newDic = dic
.SelectMany(pair => pair.Value
.Select(val => new { Key = val, Value = pair.Key }))
.GroupBy(item => item.Key)
.ToDictionary(gr => gr.Key, gr => gr.Select(item => item.Value));
关于c# - 将 Dictionary<int, Enumerable> 转换为 Dictionary<int, Enumerable> 反转内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1324912/