rou*_*sis 4 .net c# linq dictionary
为了清楚起见,我们说我们有学生和班级,这是一个多对多的关系.
我有一个词典,其中键是学生ID,而Enumerable是一个类的集合(比如我们只有id),我想将它恢复为classId的词典,学生
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));
Run Code Online (Sandbox Code Playgroud)