gpt4 book ai didi

c# - 如何在 LINQ 上使用 OR 连接 where 子句?

转载 作者:行者123 更新时间:2023-11-30 19:20:16 25 4
gpt4 key购买 nike

我有这段代码:

foreach (Package pack in Packages)
{
filteredResults = filteredResults.Where(o => o.ID == pack.ID);
}

唯一的问题是我过滤了 N 次结果(所以 N 次在哪里)。我想做的是用 N 表达式只过滤一次结果(只有一个 where 子句)。像这样的东西:

    Where o.ID == pack.ID OR o.ID == pack.ID OR o.ID == pack.ID OR o.ID == pack.ID...

是否可以使用 LINQ 执行此操作?

最佳答案

类似于下面的代码应该可以工作,或者至少可以引导您朝着正确的方向前进。

-- Get all the package IDs you want to select on.
var packIDs = from pack in Packages
select pack.ID;

-- Return all results where the ID is in the package ids above.
filteredResults = from result in filteredResults
where packIDs.Contains(result.ID)
select result;

上面假设你的 and's 是一个逻辑错误,你的意思是 ors。

关于c# - 如何在 LINQ 上使用 OR 连接 where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857155/

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