有没有办法将LINQ表达式中的多个值与通用列表进行比较?

5

我正在查询一个复杂实体对象,其中的值需要与通用列表进行比较,以选择正确的对象。我正在寻找一种方法,在不必将查询放入循环中的情况下,比较实体对象中的Id值与我的列表中的所有值。

这是我的代码:

通用列表:

    List<int> input = new List<int>()
                           {
                                 3,4,5....
                           };

我的查询-不起作用:

      ManagerToGetRepo mgr = new ManagerToGetRepo();
      var result = mgr.GetAllData()
                      .Where(a=>a.someObject.anotherObj.Id == input.Values);
1个回答

6
只需使用 List<T>.Contains 方法来查看每个值是否在集合中。
var result = mgr.GetAllData()
                .Where(a => input.Contains(a.someObject.anotherObj.Id));

我之前没有想到可以使用linq以另一种方式完成,非常感激。 - Rayshawn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接