Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并两个不同类型的通用列表_C# - Fatal编程技术网

C# 合并两个不同类型的通用列表

C# 合并两个不同类型的通用列表,c#,C#,我有两份清单 List <BillDetails>= new List<BillDetails>(); List<Header>=new List<Header>(); Public class Billdetails { public string chargecategory; public string materialcode; public int price; public

我有两份清单

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;  
}  
List=newlist();
列表=新列表();
公共类公告栏详情
{    
公共字符串收费类别;
公共字符串材料代码;
公共价格;
公共整数;
}
公共类标题
{  
公共字符串编码;
公共字符串客户名称;
}  
这两个列表没有任何联系。但我必须将这两个元素组合成一个列表,并将其绑定到gridview

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


提前感谢。

假设它们的顺序正确且长度相同(大假设!),您可以将它们压缩并投影到匿名类型:

    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();
List billDetails=新列表();
列表标题=新列表();
var results=billDetails.Zip(标题,(细节,标题)=>
新{details.chargecategory,details.materialcode,header.chargecode,header.customername})
.ToList();
IEnumerable both=billDetails.OfType().Concat(headers.OfType());

我认为不让泛型有共同之处,就不可能使用泛型。。。现在他们完全不同了。什么是<代码>公共类收费代码应该是什么意思?你需要给出更多的细节-你希望它们如何结合?家庭作业?这段代码甚至没有编译。我能想到的唯一方法是创建一个父类型/接口,如IDisplayableInGridView,其中所述接口/父类型包括代码displaytext;我已经纠正了这一点。将这两个类合并为一个类并将其绑定到gridview,同时将值存储在会话对象中的最佳方法是什么。我不知道这是否是一个有效的问题。你好,鲍勃,你能和我分享代码来实现这一点吗。@Janaki-我相信我刚刚做到了,假设你可以使用Linq-你还必须包括一个
using System.Linq添加到要编译的代码文件中。你使用的是什么C版本?
IEnumerable both = billDetails.OfType<object>().Concat(headers.OfType<object>());