c# - 如何在 C# 中转换字典
问题描述
我有一本像下面这样的字典,我想转换
Dictionary<List<String>,Object>
至
Dictionary<String,Object>
解决方案
您可以按照问题评论中的说明完成映射,如下所示:
Dictionary<List<String>, Object> original = new Dictionary<List<string>, object>()
{
{ new List<string> { "A", "B", "C" }, 42 }
};
var mapped = original
.SelectMany(kv => kv.Key, (val, key) => new { Key = key, val.Value})
.ToDictionary(k => k.Key, v => v.Value);
结果:
Key Value
A 42
B 42
C 42
每个列表都有唯一的字符串。
如果任何字符串在任何列表中重复,您将得到一个DuplicateKeyException
.