c# - 按另一个列表更新列表 (linq)

标签 c# linq

我有“数据”类的对象列表,如下所示:

class Data
{
    int code;
    string name;
    ...
    DateTime date_update;
}

我还有另一个类列表,例如:
class RefCodes
{
    int old_code;
    int new_code;
    string new_name;
    DateTime date_update;
}

“数据”列表包含 1,000 个对象。
“RefCodes”列表包含 30 个对象。

我需要在列表“数据”中替换,
田野:
“代码”的值为“new_code”,
并且“名称”的值为“new_name”。

替换只需要针对其代码存在于列表“RefCodes”中的对象。
通过查询:如果 Data.code == RefCodes.old_code 中的代码
我该怎么做?

最佳答案

我想你正在寻找这个:

foreach (var rcodeObj in RefCode)
{
     foreach(var obj in (Data.Where(t => t.code == rcodeObj.old_code)))
     {
        obj.code = rcodeObj.new_code;
        obj.name = rcodeObj.new_name;
     }
}

关于c# - 按另一个列表更新列表 (linq),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41720839/

相关文章:

具有 "where constraint"定义的 C# 泛型 "any generic type"?

c# - 尝试在 C# 中更改工作表名称时出现奇怪的错误

asp.net - 具有 .Any 条件的 Linq 查询返回 nullreference 异常

c# - 转换 lambda 表达式

c# - 使用 linq 查询简化流程

c# - 在Unity3D中播放另一个音频时停止音频

c# - SQLite : how? 中的 SHA1 哈希

c# - 替代可移植类库的 ConcurrentDictionary

c# - 我如何告诉 LINQ 忽略不存在的属性?

c# - ADO.NET Entity Framework SaveChanges() 不起作用