我有一个像下面这样的字典,我想转换
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
。