gpt4 book ai didi

c# - 如何根据属性合并两个列表?

转载 作者:太空狗 更新时间:2023-10-29 18:15:19 25 4
gpt4 key购买 nike

我有两个列表,一个是假的,一个是真的,比如:

之前

// fake (list 1)
{ ID = 1, Year = 2011, X = "" }
, { ID = 2, Year = 2012, X = "" }
, { ID = 3, Year = 2013, X = "" }

// real (list 2)
{ ID = 35, Year = 2011, X = "Information" }
, { ID = 77, Year = 2013, X = "Important" }

我想合并他们寻找年份,结果应该是:

之后

{ ID = 35, Year = 2011, X = "Information" }
, { ID = 2, Year = 2012, X = "" }
, { ID = 77, Year = 2013, X = "Important" }

它必须删除第一个列表中具有相同年份的元素,并将第二个列表中具有相同年份的元素添加到第一个列表中,保持顺序。

我如何使用 Linq 完成此操作?

最佳答案

您应该能够使用“左连接”来做到这一点:

from f in fake
join r in real
on f.Year equals r.Year
into joinResult
from r in joinResult.DefaultIfEmpty()
select new
{
ID = r == null ? f.ID : r.ID,
Year = f.Year,
X = r == null ? f.X : r.X
};

关于c# - 如何根据属性合并两个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731304/

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