c# - Linq 更新加入
问题描述
我有这两个系列
var materials = new List<Models.Material>();
materials.Add(new Models.Material { Number = 111, Value = null });
materials.Add(new Models.Material { Number = 222, Value = null });
var db_materials = new List<Models.DB_Material>();
db_materials.Add(new Models.DB_Material { Number = 111, ValueColumn = 10});
db_materials.Add(new Models.DB_Material { Number = 222, ValueColumn = 20 });
db_materials.Add(new Models.DB_Material { Number = 333, ValueColumn = 30 });
db_materials.Add(new Models.DB_Material { Number = 444, ValueColumn = 40 });
我需要使用db_materials集合中的ValueColumn更新材料集合中的所有Value属性。
这个怎么做 ?
解决方案
您也可以在没有连接的情况下执行此操作。试试下面的片段:
materials.ForEach(x => x.Value = db_materials.FirstOrDefault(y => y.Number == x.Number).ValueColumn);
ForEach()将更新原始实例本身的值。无需使用循环或连接。
推荐阅读
- android - 如何找出冲突的路径?
- python - gunicorn 发送信息消息处理信号:绞盘
- python - 如何在 PsychoPy 或 Python 中对 WPI 注射泵进行编程?
- c# - 如何隐藏使用 Selenium 打开或切换选项卡时弹出的窗口
- python - 用正则表达式替换python文件内容和行首问题
- sql - SQL HTTP 函数或过程
- openapi - 当字段应该是 IRI 或常规字符串时区分 OpenApi 文档
- android - Android Studio 应用程序通知权限默认关闭?
- android - 在 LinearLayout 中自动计算边距
- python - 对整数进行条件检查时出错