2011-03-11 53 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