我需要知道如何在不使用foreach
的情况下在LINQ的帮助下实现以下逻辑来获取项目列表。此外,我需要在将项目添加到新列表后从item
列表中排除那些匹配的项目。
代码
List<StockResult> Stockres = new List<StockResult>();
foreach (var stkitms in item)
{
if (Db.Stk.Any(a => a.INo == stkitms.ItemNum))
{
StockResult ss = new StockResult();
ss.ItemNumber = stkitms.ItemNum;
ss.FileName = stkitms.FileName;
Stockres.Add(ss);
}
}
任何解决方案都将受到赞赏。
答案 0 :(得分:7)
你可以尝试这个:
List<StockResult> Stockres = item.Where(x=>Db.Stk.Any(a => a.INo == x.ItemNum))
Select(x=> new StockResult()
{
ItemNumber = x.ItemNum,
FileName = x.FileName
}).ToList();