Listに数値の並びを初期化するには
数値の並びのデータを作る方法を考える。たとえば、1から100までの整数値のリストを作るにはどうすればよいか。
個数がすくない場合、たとえば1から5までの数値列なら初期値を指定すればよい。
これが、1から100までと個数が増えるとさすがに初期値を書くのは大変なので、ループで書くことになる。
これはこれでよいのだけど、ループをつかわずに、もっとシンプルに書きたいと思うのだけど、よい方法が思いつかない。
*
検索してみると、Enumerable.Range メソッドを見つけた。これがまさしく上の思いを満たしてくれる。
うん、これは便利。
(2018/8/1)
今更気がついたのだが、Rangeメソッドの引数は開始と終了ではなく、開始と個数なのだった。
たとえば、5から10までの並びが欲しいときは、Enumerable.Range(5, 10)ではなく、Enumerable.Range(5, 6)と書く。
個数がすくない場合、たとえば1から5までの数値列なら初期値を指定すればよい。
List<int> lst1 = new List<int>() { 1, 2, 3, 4, 5 }; List<int> lst2 = new List<int> { 1, 2, 3, 4, 5 };
これが、1から100までと個数が増えるとさすがに初期値を書くのは大変なので、ループで書くことになる。
List<int> lst3 = new List<int>(); for (int i = 1; i <= 100; i++) { lst3.Add(i); }
これはこれでよいのだけど、ループをつかわずに、もっとシンプルに書きたいと思うのだけど、よい方法が思いつかない。
*
検索してみると、Enumerable.Range メソッドを見つけた。これがまさしく上の思いを満たしてくれる。
List<int> lst4 = Enumerable.Range(1, 100).ToList<int>();
うん、これは便利。
(2018/8/1)
今更気がついたのだが、Rangeメソッドの引数は開始と終了ではなく、開始と個数なのだった。
たとえば、5から10までの並びが欲しいときは、Enumerable.Range(5, 10)ではなく、Enumerable.Range(5, 6)と書く。
コメント
コメントを投稿