gpt4 book ai didi

c# - 从 linq select 查询中读取结果

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:51 25 4
gpt4 key购买 nike

我有两个相同自定义类型的列表(A 和 B)(如下所示)

MyClass
{
id as string
acidity as double
region as string
}

我需要遍历列表 A 并查看该 ID 是否在列表 B 中。如果它在列表 B 中,我需要将区域从列表 B 复制到列表 A。执行此操作的最佳方法是什么?下面是一个简单的例子,

List A             List B
id region id region
abc njp EU
mno plm US
jkl mno US
abc EU

我要找的结果

List A
id region
abc EU
mno US
jkl

我正在考虑遍历列表 A 中的每个 ID 并使用如下所示的 linq 查询。但是我有两个问题,

 var reg = from b in B
where A[i].id == b.id
select b.Region;

我知道上面的 linq 查询将返回一个值或不返回任何值。那么如何将结果放入我的 A[i].Region 变量中呢?还有没有返回结果怎么处理?我是否必须使用 foreach,即使我知道只有最大结果?

最佳答案

好吧,听起来你可能想要一个连接,这样你就可以识别对,然后你可以复制区域:

var query = from itemA in listA
join itemB in listB on itemA.id equals itemB.id
select new { itemA, itemB };

foreach (var pair in query)
{
pair.itemA.Region = pair.itemB.Region;
}

关于c# - 从 linq select 查询中读取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32560716/

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