2011-11-15 10 views
6

私は数があり、n回インクリメントしてリストに追加する必要がありますが、ラムダの1行でこれを行う方法はありますか?ラムダはリストにインクリメントされた要素を追加します

たとえば、あなたが1ずつ増加、与えられた出発点からの5つの要素を持つリストを作成したい場合は

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

あなたは5つの要素を言って、次に6つを期待される出力....... nmを編集する。 – asawyer

答えて

15

、あなたはEnumerable.Rangeを使用することができます。ラムダ式とクロージャを使用して楽しみのためだけにAddRange

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

とそれを組み合わせる、既存のリストにそれらを追加するには

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

: (私はEnumerable.Range()が好きなだけでなく、私は好き別のソリューションに近づいている間に楽しい)

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