向列表中添加自增元素

本文关键字:元素 添加 列表 | 更新日期: 2023-09-27 18:14:38

如果我有一个数字,我需要增加它n次,并将它们添加到一个列表中,是否有一种方法可以在lambda的1行中做到这一点?

例如

int n = 5; //5 elements.
int x = 10; // starts at 10
//do stuff
List<int> list;
//list now contains: 10, 11, 12, 13, 14

向列表中添加自增元素

如果您想从给定的起始点构造一个包含5个元素的列表,每加1,您可以使用Enumerable.Range

var list = Enumerable.Range(10, 5).ToList();

要将它们添加到预先存在的列表中,请将其与AddRange

组合
list.AddRange(Enumerable.Range(10, 5));
var list = Enumerable.Range(x,n).ToList();

只是为了好玩使用lambda表达式和闭包:(我喜欢Enumerable.Range(),但我也喜欢在接近不同解决方案的同时获得乐趣)

var list = new List<int>();            
Action<int, int> generator = (x, n) => { while ( n-- > 0) list.Add(x++); };
generator(10, 5);