使用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的方法。 这就是保留所有这些东西的地方。 不要错过ToLookupConcat (vs Union )和Repeat

对于月份名称,您可以使用Select()

 var months = Enumerable.Range(1,n).Select(getMonthName);