如何使用 Linq 在查找列表中获取匹配项

本文关键字:获取 列表 何使用 Linq 查找 | 更新日期: 2023-09-27 18:32:53

我正在尝试找到一种使用 Linq 实现以下目标的方法。

我有一个查找列表,其中包含一个包含 3 条信息的类:

int Period
int MinValue
int MaxValue

我还有一个包含产品的数据库 - 每个产品都包含与查找列表中相同的 3 个变量。

我想返回周期与查找列表中的条目匹配的产品,最小值>= 和最大值 <= 查找列表中的条目。

var q = products.Where(x => ...

有人帮忙吗?

如何使用 Linq 在查找列表中获取匹配项

试试这个:

var q = products.Where(x => LookupList.Any(
                                          s => s.Period == x.Period && 
                                          x.MinValue >= s.MinValue && 
                                          x.MaxValue <= s.MaxValue));

据我了解,可以使用以下语句过滤序列。

var q = products.Where(
  x => Lookp.Any( y => x.Period == y.Period
                       && x.MinValue >= y.MinValue
                       && x.MaxValue <= y.MaxValue) );

在这里,xproducts 成员的变量,yLookup 成员的变量。