c# - 在 FindAll 函数中使用列表 -C# LinQ
问题描述
我有下面的代码行来过滤列表
items = ctx.listName.ToList().FindAll(x=>x.LocationId= locationId); //int locationId passed as parameter
现在,不是只有一个位置(locationId),有没有办法拥有多个位置并在查询中使用它们?
就像int locationId
我们可以使用List<int> locations
并拥有这样的东西而不是
items = ctx.listName.ToList().FindAll(x=>x.LocationId in locations)
解决方案
您可以像这样使用 LINQ Contains() 扩展方法。
C#中的Linq Contains Method 用于检查序列或集合(即数据源)是否包含指定元素。如果数据源包含指定元素,则返回 true 否则返回 false
List<int> locations= // code to get location id's here
items = ctx.listName.Where(x=>locations.Contains(x.locationId)).ToList();
推荐阅读
- android - Login authentication using liferay sdk
- r - R - 从不同的数据帧中查找匹配的行
- python - Python - 使用 BeautifulSoup 遍历页面
- netsuite - 使用套件脚本从网络套件获取多个子列表
- java - 在社交朋友图java中找到最短路径
- java - 在 FOREACH 之外使用 Pig UDF 函数
- javascript - 显示多个项目的 Javascript 地图
- sql - 将提供的模式转换为 SQL 中的“等效”关系模式(表)
- arrays - 如何递归检查 JSON 数组是对象数组还是原语数组
- python - 在 scikit learn 中缩放广泛的数据