C# Linq要加入两个相似的对象列表吗?
这就是我尝试过的。它工作了,但我想一定有办法通过使用linQ来缩短代码,我不知道:C# Linq要加入两个相似的对象列表吗?,c#,linq,C#,Linq,这就是我尝试过的。它工作了,但我想一定有办法通过使用linQ来缩短代码,我不知道: objC = new obj() { ID = 123, attriA = "someValueA", attriB = "someBalueB" } 您可以使用linq join,如下所示 foreach(obj item in ListA) { obj objB = ListB.Where(x=> x.ID == item.ID).FirstOrDefault();
objC = new obj()
{
ID = 123,
attriA = "someValueA",
attriB = "someBalueB"
}
您可以使用linq join,如下所示
foreach(obj item in ListA)
{
obj objB = ListB.Where(x=> x.ID == item.ID).FirstOrDefault();
obj objC = new obj(){
ID = objB.ID;
attriA = item.attriA;
attriB = objB.attriB;
};
ListC.add(objC);
}
以上代码未经测试您可以按如下方式使用linq join
foreach(obj item in ListA)
{
obj objB = ListB.Where(x=> x.ID == item.ID).FirstOrDefault();
obj objC = new obj(){
ID = objB.ID;
attriA = item.attriA;
attriB = objB.attriB;
};
ListC.add(objC);
}
上述代码未经测试如果始终存在字符串,则可以使用以下内容:
var query = from a in ListA
join b in ListB
on a.ID equals b.ID
select new Obj()
{
ID = b.ID;
attriA = a.attriA;
attriB = b.attriB;
};
如果始终存在字符串,则可以使用以下内容:
var query = from a in ListA
join b in ListB
on a.ID equals b.ID
select new Obj()
{
ID = b.ID;
attriA = a.attriA;
attriB = b.attriB;
};
要优化或查看代码,请访问以优化或查看代码,请访问此功能适用于此特定场景,但如果obj a上的attribA是一个没有值的功能,而您希望使用attribB,则它将不起作用。此功能适用于此特定场景,但如果obj a上的attribA是一个没有值的功能,并且您希望如果是attribB,则不会。