2011-03-11 42 views
2

两个泛型列表我有两个列表作为结合不同类型

List <BillDetails>= new List<BillDetails>(); 
List<Header>=new List<Header>(); 

Public class Billdetails 
{  
    public string chargecategory; 
    public string materialcode; 
    public int price; 
    public int quantity; 
} 

public class Header 
{ 
    public string chargecode; 
    public string customername; 
} 

这两个列表不以任何方式联系在一起的。但我必须将它们组合成一个列表并将其绑定到一个gridview。

请帮我组合或合并这两个列表,但它们之间没有任何共同之处。

在此先感谢。

+0

我不认为这是可能的使用泛型没有他们共同的东西*现在他们只是完全不同。 “公共课费用代码”是什么意思? – BoltClock 2011-03-11 16:12:01

+5

您需要提供更多细节 - *您希望如何将它们组合?作业是否是 – 2011-03-11 16:12:09

+2

?此代码甚至不会编译 – BlackTigerX 2011-03-11 16:14:18

回答

7

假设它们都以正确的顺序和长度相同,你可以压缩他们和项目,以匿名类型(大假设!):

List<BillDetails> billDetails = new List<BillDetails>(); 
    List<Header> headers =new List<Header>(); 

    var results = billDetails.Zip(headers, (details, header) => 
            new { details.chargecategory, details.materialcode, header.chargecode, header.customername }) 
          .ToList(); 
+0

你好鲍勃,你可以请与我分享代码来实现这一点。 – Janet 2011-03-11 16:22:45

+0

@Janaki - 我相信我刚刚做过,假设你可以使用Linq--你还必须在你的代码文件中包含一个'using System.Linq;'来编译它。你在使用什么C#版本? – BrokenGlass 2011-03-11 17:11:08

4
IEnumerable both = billDetails.OfType<object>().Concat(headers.OfType<object>()); 
+1

我无法使用Zip。 – Janet 2011-03-11 16:35:00