在FindAll函数中使用List-C#LinQ



我有下面一行代码来过滤列表

items = ctx.listName.ToList().FindAll(x=>x.LocationId= locationId); //int locationId passed as parameter

现在,有没有一种方法可以拥有多个位置并在查询中使用它们,而不是只有一个位置(locationId(?

我们可以用List<int> locations来代替int locationId

items = ctx.listName.ToList().FindAll(x=>x.LocationId in locations)

您可以像这样使用LINQ Contains((扩展方法。

C#中的Linq Contains方法用于检查序列或集合(即数据源(是否包含指定的元素。如果数据源包含指定的元素,则返回true,否则返回false

List<int> locations= // code to get location id's here
items = ctx.listName.Where(x=>locations.Contains(x.locationId)).ToList();

最新更新