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>());