如何基于长度不固定的列表构建 linq OR 条件

本文关键字:构建 列表 linq OR 条件 何基于 | 更新日期: 2023-09-27 18:32:33

我想在 Linq 中构建一个 OR 条件。条件基于列表。例如:

// list.count == 2
c=>c.state_id==list[0] or c.state_id == list[1];
// list.count == 3
c=>c.state_id==list[0] or c.state_id == list[1] or c.state_id == list[2];

对于列表的长度不是固定的,那么我该如何构建这样的条件呢?谢谢

如何基于长度不固定的列表构建 linq OR 条件

您可以使用

Contains构建查询:

c => list.Contains(c.state_id);

另一种方法是使用JOIN

from c in states
join l in list on c.state_id equals l
select c;