使用 linq 按 id 加入集合 [重复]
Posted
技术标签:
【中文标题】使用 linq 按 id 加入集合 [重复]【英文标题】:Join collections by id with linq [duplicate] 【发布时间】:2017-11-18 01:11:00 【问题描述】:我有一个对象集合
var myData = new[]
new
ID = "1285",
COUNT = 45
,
new
ID = "1286",
COUNT = 156
,
new
ID = "1287",
COUNT = 965
;
我的另一个集合来自另一个像这样的数据源:
var incomingData = new[]
new
ID = "1285",
LOCATION = "City-1"
,
new
ID = "1286",
LOCATION = "City-2"
,
new
ID = "1287",
LOCATION = "City-3"
;
我想通过 ID 更改具有 COUNT 属性的传入数据。
var NewData = new[]
new
ID = "1285",
LOCATION = "City-1",
COUNT = 45
,
new
ID = "1286",
LOCATION = "City-2",
COUNT = 156
,
new
ID = "1287",
LOCATION = "City-3",
COUNT = 965
;
如何使用 linq labda 函数做到这一点。我不想使用 foreach 循环。 (myData
和 incomingData
集合长度可能不同)
【问题讨论】:
如果集合的长度不同,一个集合中没有出现在另一个集合中的元素应该怎么办? 只有匹配的项目才会加入 我明白了,谢谢 :) 我想我想多了! 【参考方案1】:只需像这样使用普通的连接语句:
var result=
(
from data in myData
join inData in incomingData
on data.ID equals inData.ID
select new
data.ID,
inData.LOCATION,
data.COUNT
).ToList();
简单、易读、易读
【讨论】:
“简单、易读、易读” - 非常好!以上是关于使用 linq 按 id 加入集合 [重复]的主要内容,如果未能解决你的问题,请参考以下文章