我有一个包含不同列的一般结果,包括 id 列。我还有一个 List
,它有一组 id。我想获得 List
item(id) 与 Id 列值匹配的结果。
我试着在一个循环中这样做:
foreach(int Uid in idList)
{
queryResults = queryResults.Where(security => security.id== Uid);
}
但这给了我 queryResults 中的单个记录,这是列表中最后一个 Uid。我想要的是,列表中所有 Uid 的记录都应该在 queryResults 中。
最佳答案
您需要将每个项目的 ID 与存储在 idList
中的 ID 相匹配。这可以通过在 queryResult
上使用的 Where
扩展结合在 idList 上使用的
:Contains
方法来实现
var idList = new List<int>{1, 2, 3, 4} // This is your list holding the ids
var result = queryResult.Where(security => idList.Contains(security.SecuritiesId));
这将检查 queryResult
的每个项目是否其 SecuritiesId
包含在包含相关 ID 的列表中。
关于c# - Lambda 表达式,其中列等于列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177967/