编辑:将列表合并到另一个为null的列表中,是否可能?

时间:2013-12-10 09:03:29

标签: c# linq list

可以将ListB PurchaseOrderHeader和Supplier添加到List A PurchaseOrderHeader和Supplier中吗?我试过加入,concat,但看起来效果不好

POLine。

列出A enter image description here

列表B enter image description here

修改

很抱歉忘了添加代码

      POLine.Select(c => c.PurchaseOrderHeader).Concat(DataFromParent.Select(c=>c.PurchaseOrderHeader));

更新

有可能成功吗?

列出一个PurchaseOrderHeader = null,  PurchaseOrderLine =某个值,  供应商= null

列表B只有  PurchaseorderLine = null,

无论如何可以合并它以使其成为

列出一个PurchaseOrderheader = List B PurchaseOrderHeader, 列表A PurchaseOrderLine保留,  和清单A供应商=清单B供应商?

4 个答案:

答案 0 :(得分:2)

很难理解你究竟在问什么,但我想你可能只是在寻找以下内容:

// I think this is what you mean with list A and List B
var listA = POLine[0];
var listB = DataFromParent[0];

listA.PurchaseOrderHeader = listB.PurchaseOrderHeader;
listA.Supplier = listB.Supplier;

答案 1 :(得分:1)

你可以尝试:

List<string> a = new List<string>();
List<string> b = new List<string>();

a.AddRange(b);[this question is already asked][1]

答案 2 :(得分:1)

从技术上讲,没有“List A PurchaseOrderHeader”:有一个变量“PurchaseOrderHeader”,但该变量没有值。

您应首先检查它是否有值。如果是,您可以添加其他列表。如果没有,您可能希望将列表B分配给变量PurchaseOrderHeader

if (listA == null) listA = listB;
else listA.AddRange(listB);

从您的代码判断,不清楚PurchaseOrderHeader是否实际上是一个List,因此我不确定.AddRange是否实际上是您的选项。

答案 3 :(得分:1)

这应该可以解决您的问题

List<t> list1=new list1<t>();
List<t> list2=new List<t>();        
list2.AddRange(list1);