今回のテーマ
こんばんは、サルモリです。
下記の記事の続きです。今回もLinqのメソッドを紹介してきます。
CHECK
-
【C# sharp Linq】Distinct、OrderBy、OrderByDescendingメソッドを解説します。
ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...
続きを見る
今回のテーマ
Linqの初期化メソッド、Repeat、Rangeについて解説します。
今回は上記の2つのメソッドについて解説します。
他のLinqの記事についてはこちら
Repeat、Rangeについて
Repeat
引数で指定した要素分同じ値を設定します。
Range
引数で指定した要素分連続した数値を設定します。
Linqメソッドの解説の流れ
下記の流れで説明したいと思います。
行いたい処理の例を書きます。
Linqを使用しない書き方と使用する書き方のソースコードを書いていきます。
ソースコードには、配列とリストを使います。
Repeatの使い方
Repeatの使い方について、例を書いていきます。
行いたい処理
配列、リストの全ての要素に初期値0を設定したい。
Linqを使用しない例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array1 = new int[20]; for(int i = 0;i < array1.Length;i++) { array1[i] = 0; } } } } |
配列に初期値を設定したいときは上記のようなソースコードになります。
続けて、リストも見てみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { List<int> list = new List<int>(); for(int i = 0; i < 20; i++) { list.Add(0); } } } } |
リストは上記のようにすれば初期値を設定することができます。
このような初期値の設定もLinqを使用すれば簡単にできます。
早速見てみましょう。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { var array1 = Enumerable.Repeat(0, 20).ToArray(); } } } |
上記のように1行で実現できます。第1引数が初期化したい値、第2引数が要素数です。
リストに関しても同じようにできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { var array1 = Enumerable.Repeat(0, 20).ToList(); } } } |
リストにする方法はToList()にするだけです。Linqの初期化は本当に簡単なので、覚えましょう!
Range
続けてRangeの使い方の例を見てみましょう。
行いたい処理
初期値を連続した値で設定したい。
Linqを使用しない例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array1 = new int[5]; for(int i = 0; i < array1.Length; i++) { array1[i] = i + 1; } } } } |
こんな感じにすれば連続した初期値を設定できます。
次はLinqを使った例をみてみましょう。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array1 = Enumerable.Range(1, 5).ToArray(); foreach(var item in array1) { Console.WriteLine(item); } } } } |
result
1
2
3
4
5
上記のように値を設定することができます。第1引数は連続する値の初期値で、第2引数は要素数です。
あまり使う事はないと思いますが、テストとかに使用する場面があるので、覚えておいて損はないです。
他のLinqの記事についてはこちら
まとめ
今回もLinqメソッドの紹介記事でした。今回の取り上げたメソッドを下記に纏めます。
今回のメソッド一覧
- Repeat
- Range
上記のメソッドと一緒にToArray、ToListもよく使うメソッドなので、覚えてください。
自分の好きな時に配列やリストに変換できるので、とても重宝しますよ。
今回の記事は以上です。最後まで見て頂きありがとうございました。
CHECK
-
【C# sharp Linq】ConcatとAggregateの使い方を解説します。
ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...
続きを見る
他のLinqの記事についてはこちら