如果我有一個數字,我需要增加它n次並將它們添加到列表中,是否有一種方法可以在lambda中的1行中執行此操作?Lambda將增加的元素添加到列表中
例如,
int n = 5; //5 elements.
int x = 10; // starts at 10
//do stuff
List<int> list;
//list now contains: 10, 11, 12, 13, 14
如果我有一個數字,我需要增加它n次並將它們添加到列表中,是否有一種方法可以在lambda中的1行中執行此操作?Lambda將增加的元素添加到列表中
例如,
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個元素的列表,由一個遞增,您可以使用Enumerable.Range
。
var list = Enumerable.Range(10, 5).ToList();
要添加這些到預先存在的名單,只是爲了好玩利用lambda表達式和關閉與AddRange
list.AddRange(Enumerable.Range(10, 5));
var list = Enumerable.Range(x,n).ToList();
結合起來: (我喜歡Enumerable.Range()
也是我喜歡同時接近不同的解決方案)
var list = new List<int>();
Action<int, int> generator = (x, n) => { while (n-- > 0) list.Add(x++); };
generator(10, 5);
你說5個元素,然後列出6作爲預期輸出.......編輯nm然後。 – asawyer