今回のテーマ
こんばんは、サルモリです。
今回は下記の記事の続きです。
CHECK
今回のテーマ
Linqのメソッド、AvarageとMaxとMinとSumついて解説します。
今回紹介するメソッドは名前からして何をしてくれるか分かりますね。可読性の高さもLinqのメリットです。
それでは、今回も張り切ってやっていきましょう!
Linqの演習問題はこちら
他の演習問題はこちら
LinqのAvarage、Max、Min、Sumについて
Avarage
全ての要素の平均値を求めます。
Max
全ての要素の最大値を求めます。
Min
全ての要素の最小値を求めます。
Sum
全ての要素の合計を求めます。
Linqメソッドの解説の流れ
下記の流れで説明したいと思います。
行いたい処理の例を書きます。
Linqを使用しない書き方と使用する書き方のソースコードを書いていきます。
ソースコードには、配列を使います。
Avarageの使い方
Avarageの使い方について、例を書いていきます。
行いたい処理
配列の要素の平均値を出力したい。
Linqを使用しない例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
using System; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array = new int[] { 1, 2, 3, 4, 5}; int sum = 0; foreach(var item in array) { sum += item; } double average = (double)sum / array.Count(); Console.WriteLine(average); } } } |
result
3
繰り返し文で配列の要素の合計値を出し、要素数で割れば平均値を求められますね。
続けてLinqを使用した例です。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array = new int[] { 1, 2, 3, 4, 5}; Console.WriteLine(array.Average()); } } } |
result
3
1行で完成です。便利ですねー。
Maxの使い方
続けてMaxの使い方の例を見てみましょう。
行いたい処理
配列の要素から最大値を求めたい。
Linqを使用しない例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array = new int[] { 1, 2, 5, 4, 3}; int max = int.MinValue; foreach(var item in array) { if(item > max) { max = item; } } Console.WriteLine(max); } } } |
result
5
最大値を求めるソースコードを書きました。
次はLinqを使った例をみてみましょう。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array = new int[] { 1, 2, 5, 4, 3}; Console.WriteLine(array.Max()); } } } |
result
5
見事に1行です。ここまで省略できると気持ちいいですね。
可読性の観点からもmaxは最大値を求めてるんだなーとすぐ分かるのでいい感じです。
Minの使い方
ごめんなさい。ここからはLinqの例だけで許してください 😥
行いたい処理
配列の要素から最小値を求めたい。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array = new int[] { 1, 2, 5, 4, 3}; Console.WriteLine(array.Min()); } } } |
result
1
最小値も最大値と同様に簡単に求められます!
Sumの使い方
最後に合計も求めていきましょう。
行いたい処理
配列の要素の合計値を求めたい。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int[] array = new int[] { 1, 2, 5, 4, 3}; Console.WriteLine(array.Sum()); } } } |
result
15
合計もすぐに記述できます!
まとめ
今回もメソッドを何個か取り上げて、Linqのパワーを実感して頂けたと思います。
今回のメソッド一覧
- Average
- Max
- Min
- Sum
これからも何個かメソッドを取り上げますが、その後には、それぞれのメソッドを組み合わせた使い方の記事も載せたいと思います。
組み合わせると本当に色々なことが出来るんですよね。
最後まで見て頂きありがとうございました。
次回の記事です。
CHECK
-
【C# sharp Linq】Count、SequenceEqual、FirstOrDefault、LastOrDefaultメソッドを解説します。
ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...
続きを見る
Linqの演習問題はこちら
他の演習問題はこちら