两个对应不同类的list怎么合并为一个list,两个类有共同的id
2个回答
展开全部
新定义一个类,这个类包含两个已有类成员以及共有的Id。然后,遍历原有List集合查找Id匹配对象。找到后,生成新定义类的实例并放入合并List集合。
举例如下(C#):
// 原有类1
public class Class1
{
public int Id { get; set; }
//其余代码略……
}
// 原有类2
public class Class2
{
public int Id { get; set; }
//其余代码略……
}
// 定义一个类,包含Class1和Class2实例引用
public class Compound
{
public int Id { get; set; }
pubiic Class1 C1 { get; set; }
pubiic Class2 C2 { get; set; }
}
合并两个不同类集合。合并操作使用了泛型列表List<T>和Linq
using System.Collections.Generic;
using System.Linq;
// 原有类1列表集合
List<Class1> listClass1 = ……;
// 原有类2列表集合
List<Class2> listClass2 = ……;
// 合并
List<Compound> mergedList = new List<Compound>();
// 遍历listClass1
foreach(Class1 c1 listClass1)
{
// 从listClass2中查找Id匹配的对象
Class2 c2 = listClass2.Find(e=>e.Id == c1.Id);
if(c2 != null)
{
//在listClass2中找到匹配的对象,添加到合并集合mergedList中
Compound x = new Compound(){Id=c1.Id, C1=c1, C2=c2};
mergedList.Add(x);
}
}
// List<Compound> mergedList就是合并后的集合。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询