c# - 如何比较两个列表并将值设置为列表属性

标签 c# linq

我有两个列表

    List A                         List B
    ID  FirstName  DepartmentID    ID  FirstName  DepartmentID
    5   Peter      Null            5   Peter      1 
    9   Steve      Null            9   Steve      2
    16  Mark       Null            16  Mark       3

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

提前谢谢你。

最佳答案

ListA.ForEach(a=>a.DepartmentID = ListB.Any(b=>b.ID == a.ID) ? ListB.First(b=>b.ID == a.ID).DepartmentID : null);

编辑:如果你想检查空值。

关于c# - 如何比较两个列表并将值设置为列表属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074049/

相关文章:

c# - 单击下一页后,在上一页上找到取消选中的复选框

c# - 将项目添加到 DataGridViewComboBoxColumn

c# - 没有具有键 'IEnumerable<SelectListItem>' 的 'CicekListesi' 类型的 ViewData 项

c# - 如何使用 C# 或编码 UI 获取图像控制颜色?

c# - 无法使用linq选择进入类

c# - MVVM ICommand 和委托(delegate)

c# - Linq 自定义排序

c# - 如何检查集合中的空值

c# - System.Linq.Select 方法错误 : LINQ to Entities does not recognize the method

c# - Entity Framework .Any() 过滤器出错