Как упростить код Используя LINQ

1

Мне нужно знать, как реализовать приведенную ниже логику, чтобы получить список элементов с помощью LINQ без использования foreach. Кроме того, я должен исключить соответствующие элементы из списка 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);
    }
}

Любое решение этого будет оценено по достоинству.

Теги:
linq

1 ответ

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();
  • 0
    StokeResult должен быть StockResult
  • 0
    @Sayse спасибо большое! Я просто исправил это.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню