Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Добавить элемент N раз в Linq

#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();

Комментариев нет:

Отправить комментарий