c# - c#中两个列表交叉连接后将数据合并到单个字典中
问题描述
我有两个字典列表,我正在应用 LINQ 查询来获得交叉连接。
var result= list1.SelectMany(x=> list2,(x,y)=> new {x,y});
现在结果有所有记录,但 x 和 y 都是分开的,但我希望两个字典在一行中,没有 x 和 y,表中的字典也是动态的,因此它可能有任何键和值。
提前致谢!
解决方案
也许你的意思是你希望你的输出“行”是一个包含所有 x 和所有 y 的字典。它可能是这样的:
var result= list1.SelectMany(
x=> list2,
(x,y) => new Dictionary<WhateverType,YouHave>(x.Concat(Y))
);
它获取所有KeyValuePair<WhateverTypr,YouHave>
in x 和 y 并IEnumerable<KeyValuePair<WhateverType,YouHave>>
从中生成一个,然后创建一个包含所有这些键值对的新字典
字典的类型需要保持一致;例如,您不能让 x 成为 aDictionary<string,int>
并且 y 成为 aDictionary<int,string>
推荐阅读
- javascript - 单击导航栏中的“a”元素会卡在触摸模式下,但可以正常工作
- opencv - opencv4android的相机焦点
- javascript - 数组连接问题
- python - dnspython 中的服务器名称可达性
- google-chrome - 从 VM 到本地计算机的 IndexedDB 副本
- javascript - 在触发来自代码隐藏的页面加载事件之前,如何在页面加载时将会话存储值传递到文本框中
- sparql - 这些使用 sh:or 的形状图有什么区别?
- java - 使用可重入锁 Java 中断所有等待线程
- java - CAS:JBoss 中 cas-server-support-json-service-registry 出现 6.2.0-snapshot 错误
- javascript - 如何在具有唯一 ID 的不同位置使用类组件?