我有两个清单:
List A List B
ID FirstName WorkingID ID FirstName WorkingID
5 John Null 5 John 1
9 Patrick Null 9 Patrick 2
16 Ryan Null 16 Ryan 3
Run Code Online (Sandbox Code Playgroud)
我想使用LINQ比较这些列表,如果两个列表中的ID相等,我想在第一个列表中设置WorkingID,一个列表.谢谢.
也像这样:
A.ForEach(c => c.WorkingID = B.Where(m => m.ID == c.ID).Select(s => s.WorkingID).FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)
完整来源:
public class Test
{
public int ID;
public int? WorkingID;
}
class Program
{
static void Main(string[] args)
{
var A = new List<Test>()
{
new Test { ID = 5, WorkingID = null },
new Test { ID = 9, WorkingID = null },
new Test { ID = 16, WorkingID = null },
new Test { ID = 18, WorkingID = null }
};
var B = new List<Test>()
{
new Test { ID = 5, WorkingID = 1 },
new Test { ID = 9, WorkingID = 2 },
new Test { ID = 16, WorkingID = 3 }
};
A.ForEach(c => c.WorkingID = B.Where(m => m.ID == c.ID).Select(s => s.WorkingID).FirstOrDefault());
}
}
Run Code Online (Sandbox Code Playgroud)