将IEnumerables的字典映射到彼此

时间:2016-12-21 04:04:56

标签: c# linq dictionary

我有以下词典:

Dictionary<A, IEnumerable<B>> dict1;
Dictionary<A, IEnumerable<C>> dict2;
Dictionary<C, IEnumerable<B>> dict3;

我希望有一个有效的Dictionary<A, Dictionary<C, IEnumerable<B>>>子集。有没有一种简单的方法可以将这些词典转换为目标?

我考虑过制作一个新课程AC,以便结果可能只是Dictionary<AC, IEnumerable<B>>,但我仍然不确定这会让我更接近我想要的。

1 个答案:

答案 0 :(得分:0)

想出来:

Dictionary<A, Dictionary<C, IEnumerable<B>>> composedDict =>
  dict2.ToDictionary(ac => ac.Key, ac => ac.Value.ToDictionary(c => c, c => dict3[c]));