Lambda表达式,其中列等于列表项

Nit*_*ish 4 c# linq lambda

我的一般结果有不同的列,包括id列.我也有一套List有一套身份证.我想获得Listitem(id)与Id列值匹配的结果.

我尝试在循环中执行此操作:

foreach(int Uid in idList)
{
    queryResults = queryResults.Where(security => security.id== Uid);
}  
Run Code Online (Sandbox Code Playgroud)

但是这给了我queryResults中的单个记录,它是列表中的最后一个Uid.我想要的是,List中所有Uid的记录应该在queryResults中.

Spo*_*xus 7

您需要将每个项目的ID与存储在您的项目中的ID相匹配idList.这可以通过Where您使用的-extension queryResult结合使用的Contains方法来实现idList:

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));
Run Code Online (Sandbox Code Playgroud)

这将检查queryResultSecuritiesId是否包含在包含相关ID的列表中的每个项目.