Web Analytics Made Easy - StatCounter

Economics Of TEC

RPA,経済学,IT技術などに関する情報を発信しています。

【C#入門】LINQでよく使うメソッド型をご紹介

f:id:WillSpecter:20200811195608j:plain

 

これまで、メソッド、クラス、インスタンスカプセル化、プロパティ、継承、オーバーライド、ラムダ式などを順に紹介してきました。今回は、「LINQでよく使うメソッド型」を紹介させていただきます。

◆これまでの記事◆
 

LINQとは

LINQ(リンク)はC#3.0のバージョンから導入された仕組みで、配列やコレクション、データベースに格納されているデータをとても簡単に整理できる仕組みです。条件に当てはまるデータを取り出したり、合計値を算出したり、などができます。 

 

詳しくはこちらの記事にもまとめていますが、LINQはクエリ構文とメソッド構文の二種類あります。

it-rpa.hatenablog.com

本記事ではメソッド構文でよく使う基本的なメソッド型をご紹介します!

よく使うメソッド型

前回の記事では、Whereのメソッドを紹介しましたが、LINQで利用できるメソッドは、他にもたくさんあります。Whereと同様に、「変数名.メソッド名()」と記載しましょう。

 

LINQで使えるメソッド☆

下記を覚えておくととても便利です。

ラムダ式については、こちらの記事で説明しています。

it-rpa.hatenablog.com

メソッド名 役割
Where(ラムダ式) 条件を満たす要素を全て返す
Select(ラムダ式) 各要素に処理を施して新しいデータを返す
OrderBy(ラムダ式) 昇順に並べ替えたデータを返す
OrderByDescending(ラムダ式) 降順に並べ替えたデータを返す
Distinct() 重複を除いたデータを返す
Max() 最大値を返す
Min()  最小値を返す
Average() 平均値を返す
Sum() 合計値を返す
Count() 素数を返す
All() 全ての要素が条件を満たしているか判断

 プログラム例

先ほどの一覧から、一部メソッドをサンプルとして書きました。

Salesという配列の中から、①売上件数②売上の最大値③売上の税込み合計金額④配列にある全ての値が1以上かどうかの判断を行っています。Allでは、条件を満たすとき、Trueを返します。

using System;
using System.Linq;

namespace LINQ_1
{
    class Program
    {
        static void Main()
        {

            int[] Sales = {100, 900, 500, 650, 780};

            //200円以上の売上件数(.Count)
            int SalesNum = Sales.Where(n => n >= 200).Count();
            Console.WriteLine("売上件数:" + SalesNum);

            //売上の最大値(.Max)
            var SalesMax = Sales.Max();
            Console.WriteLine("売上の最大値:" + SalesMax);

            //売上の税込みの合計金額(.Sum)
            var Taxinc = Sales.Sum(n => n + (n * 0.1));
            Console.WriteLine("税込み合計金額:" + Taxinc);

            //全て1円以上か(.All) true
            if (Sales.All(n => n >= 1))
            {
                Console.WriteLine("全て1円以上です");
            }

        }
    }
}

■実行結果

先ほどの4パターンの結果が無事表示されました!

f:id:WillSpecter:20200923181545p:plain

ひとこと

今回はメソッドの中でも、基本的なものを紹介させていただきましたが、簡単にデータの抽出や加工ができることが分かりますね。今回紹介したメソッドの内容については、SQLでもよく使います!

 

今回の説明は「確かな力が身につくC# 「超」入門」を参考にさせていただきましたが(例題はオリジナルです)、「もっと前から読んでおきたかった!」と痛感しています、、。もし、C#について学び始めたという方は是非参考にしてみてください!(2020年7月に出版された新書です(^^)

 

 

他にも、C#関連の記事を書いていますので是非参考にしてください!

◆合わせて読みたい◆