2011-11-15 42 views
6

Nếu tôi có số và tôi cần tăng số lần n và thêm chúng vào danh sách, có cách nào để thực hiện điều này trong 1 dòng trong lambda không?Lambda thêm các phần tử gia tăng vào danh sách

Ví dụ:

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

Bạn nói 5 phần tử, sau đó liệt kê 6 thành đầu ra dự kiến ​​....... chỉnh sửa nm sau đó. – asawyer

Trả lời

15

Nếu bạn muốn tạo danh sách có 5 phần tử từ một điểm bắt đầu, tăng dần, bạn có thể sử dụng Enumerable.Range.

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

Để thêm những vào một danh sách từ trước, kết hợp nó với AddRange

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

Just for fun sử dụng biểu thức lambda và đóng cửa: (Tôi thích Enumerable.Range() nhưng tôi cũng thích một vui vẻ khi tiếp cận các giải pháp khác nhau)

var list = new List<int>();    
Action<int, int> generator = (x, n) => { while (n-- > 0) list.Add(x++); }; 
generator(10, 5); 
Các vấn đề liên quan