From Dictionary <int,list <tuple <string,object>&gt;&gt; to Dictionary <int,list <tuple <string,object,anenum>&gt;&gt;使用LINQ

时间:2017-08-17 12:56:47

标签: c# list linq dictionary tuples

假设我有Dictionary<int,List<Tuple<string,object>>> d。如何使用LINQ创建dDictionary<int,List<Tuple<string,object,AnEnum>>> d'(其中AnEnumenum),AnEnum Tuple<string,object,AnEnum><Tuple<string,object>int

的条件决定

备注。这确实是一个非常嵌套的结构。只是为了解释一下:在我的世界中,有些产品由id(string)表征,并且有字段(以string命名),其值为{{1}的数字}' - 因此object中的Tuple。我有一个api,它是一个id List<int>列表,一个字段列表List<string>Dictionary<int,List<Tuple<string,object>>>相关联。根据某些字段的值,我可以知道我正在处理的产品的“类型”,键入我用enum标记。

1 个答案:

答案 0 :(得分:4)

嗯,也许是这样的:

d.ToDictionary(pair => pair.Key, 
               pair => pair.Value.Select(tuple => 
                              tuple.Create(tuple.Item1,
                                           tuple.Item2,                                                                                                     
                                           ConvertToEnum(tuple))).ToArray());