使用diff结构C#合并两个列表

使用diff结构C#合并两个列表,第1张

概述我有一个结构对象列表 string source, string target, int count 样本数据: sourcea targeta 10sourcea targetb 15sourcea targetc 20 我的另一个对象列表是结构 string source, int addnvalueacount, int add 我有一个结构对象列表
string source,string target,int count

样本数据:

sourcea      targeta      10sourcea      targetb      15sourcea      targetc      20

我的另一个对象列表是结构

string source,int addnvalueacount,int addnvaluebcount,int addnvalueccount

样本数据:

sourcea    10    25   35

我希望将第二个列表更改为第一个列表结构,然后使用第一个列表进行联合all(concat).

所以结果应该如下所示:

sourcea      targeta      10sourcea      targetb      15sourcea      targetc      20sourcea      addnlvaluea  10sourcea      addnlvalueb  25sourcea      addnlvaluec  35

所有帮助都是真诚的感谢..

谢谢

解决方法 我推荐Concat和SelectMany;为你提供
List<A> ListA = new List<A> {  new A ("sorcea","targeta",10),new A ("sorcea","targetb",15),"targetc",20),};List<B> ListB = new List<B> {  new B ("sourcea",10,15,35),};

为了Concat你要做的就是添加SelectMany:

var result = ListA  .Concat(ListB    .SelectMany(item => new [] { // turn single B item into three A       new A(item.source,"addnvaluea",item.addnvalueacount),new A(item.source,"addnvalueb",item.addnvaluebcount),"addnvaluec",item.addnvalueccount),}));
总结

以上是内存溢出为你收集整理的使用diff结构C#合并两个列表全部内容,希望文章能够帮你解决使用diff结构C#合并两个列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1248855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存