LINQ List查询另一个列表的内容
本文关键字:列表 另一个 List 查询 LINQ | 更新日期: 2023-09-27 18:11:11
我有List _locationData,它包含一个唯一标识符uid,这是一个字符串。我想使用LINQ查询来返回一个列表,该列表的uid包含在列表uid中。
public IQueryable<Location> FindAll(List<string> uids)
{
return _locationData.AsQueryable().Where(z => z.uid.Any(v => uids.Equals(v)));
}
你可以试试这个:
public IQueryable<Location> FindAll(List<string> uids)
{
return _locationData.AsQueryable().Where(z => uids.Contains(z.uid));
}
检查位置数据中的每个元素是否包含在列表uids
中。如果是,那么位置将包含在返回的结果中。
您想在列表中使用Contains
:
return _locationData.AsQueryable().Where(z => uids.Contains(z.uid));
如果你不严格要求结果是可查询的,这只是为了方便linq从哪里返回,你可以这样做:
private List<Location> FindAll(List<string> uids)
{
return _locationData.FindAll(location => uids.Contains(location.uid));
}
您也可以尝试这样的连接:
public IQueryable<Location> FindAll(List<string> uids)
{
return _locationData.AsQueryable().Join(uids, l => l.uid.ToString(), s => s, (l, s) => l);
}