gpt4 book ai didi

c# - 使用 LINQ 将一个列表与其他列表进行比较时如何在一个列表中设置一个值

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:48 25 4
gpt4 key购买 nike

我有两个 list :

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

我想使用 LINQ 比较这些列表,如果两个列表中的 ID 相等,我想在第一个列表 A 列表中设置 WorkingID。
谢谢。

最佳答案

也像这样:

A.ForEach(c => c.WorkingID = B.Where(m => m.ID == c.ID).Select(s => s.WorkingID).FirstOrDefault());

完整来源:
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());
}
}

关于c# - 使用 LINQ 将一个列表与其他列表进行比较时如何在一个列表中设置一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com