Ответ 1
Enumerable.Range(1,12).Select(getMonthName);
Чтобы заполнить List<int>
диапазоном чисел от от 1 до n, я могу использовать:
for (i=1; i<=n; i++)
{
myList.Add(i);
}
Есть ли способ добиться того же результата с помощью встроенных выражений LINQ?
ОБНОВЛЕНИЕ
Предположим, у меня есть метод getMonthName(i)
, который задает целое число, возвращающее имя месяца. Могу ли я заполнить список непосредственно месячными именами, используя Enumerable
Enumerable.Range(1,12).Select(getMonthName);
Вы хотите использовать Enumerable.Range
.
myList.AddRange(Enumerable.Range(1, n));
или
myList = Enumerable.Range(1, n).ToList();
Если вы задаете такой вопрос, вы можете посмотреть методы System.Linq.Enumerable. Что там все это. Не пропустите ToLookup
, Concat
(vs Union
) и Repeat
.
В именах месяцев вы можете использовать Select()
:
var months = Enumerable.Range(1,n).Select(getMonthName);