使用LINQ填充具有特定数字范围的列表
为了使用从1到n的数字范围填充List
,我可以使用:
for (i=1; i<=n; i++) { myList.Add(i); }
有没有办法通过使用LINQ内联表达式来实现相同的结果?
UPDATE
假设我有一个方法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);