#c_sharp #linq
На форму заказа (Order) нужно добавить пять позиций (OrderPosition), делаю это в цикле: var order = new Order(); var orderPositions = new List(); for (var i = 0; i < 5; i++) orderPositions.Add(new OrderPositions {Discount = 0M, ... }); order.OrderPositions = orderPositions; А можно ли цикл for заменить linq-выражением, желательно без библиотеки MoreLinq?
Ответы
Ответ 1
Используйте Enumerable.Range(): orderPositions.AddRange( Enumerable.Range(0, 5) .Select(i => new OrderPositions { Discount = 0M, ... })); Здесь в Select вы можете использовать i также, как в своем цикле. Ну и в итоге ваш фрагмент можно переписать так: var order = new Order(); order.OrderPositions = Enumerable.Range(0, 5) .Select(i => new OrderPositions { Discount = 0M, ... }) .ToList();
Комментариев нет:
Отправить комментарий