gpt4 book ai didi

c# where in with list 和 linq

转载 作者:行者123 更新时间:2023-11-30 19:43:31 26 4
gpt4 key购买 nike

我有两个列表,一个是 object A 列表,另一个是 objects B 列表,如下所示:

ObjectA
{
Int64 idObjectA;
String name;
....
}

ObjectB
{
Int64 idObjectB;
Int64 idObjectA;
String name;
....
}

我有两个列表,一个包含对象A,另一个包含对象B。我想创建一个新的 list C,它只有 objects BIDObjectAID列表A

在 SQL 中,它是这样的一行:

select * from B where IDObjectA IN(1,2,3,4...);

在我的例子中,IN 子句 的值列表是 ObjectA 的列表,它具有属性 idObjectA

最佳答案

您可以使用 Join linq 方法通过 idObjectA 连接 listBlistA 来实现这一点,然后选择 itemB

var result = (from itemB in listB
join itemA in listA on itemB.idObjectA equals itemA.idObjectA
select itemB).ToList();

此方法具有线性复杂度 (O(n))。使用 Where(... => ....Contains()) 或双 foreach 具有二次复杂度 (O(n^2)).

关于c# where in with list 和 linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14672637/

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