Web Analytics Made Easy - StatCounter

Economics Of TEC

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

【C#入門】ラムダ式とは?LINQでよく使う書き方をご紹介

f:id:WillSpecter:20200811195608j:plain

 

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

 

◆これまでの記事◆
 

 

ラムダ式とは

ラムダ式とはラムダ計算で使う式のことで、ラムダ計算とは計算モデルの一つです。少しイメージが湧かないかもしれませんが、「戻り値を返す短いメソッドを、より簡潔に書く方法」と覚えていれば良いかもしれません。C#だけではなくて、JavaC++などでも利用されています。

 

戻り値やメソッドについて復習したい方はこちらの記事を参考にしてください^^

今回は、ラムダ式の中でもLINQで利用するときの書き方をメインでご紹介させていただきます。LINQについては、別の記事で紹介させていただきますが、データにアクセスするときに使われる機能です。

 

SQLのように、「ファイルの中から今日の販売実績を抜き出して!」というように命令することができます。

 

その命令の中で、ラムダ式を併用することがかなり多いので、今回は紹介させていただきます!

ラムダ式の作り方

引数が一つのメソッド

それでは、引数が一つのメソッドをラムダ式にする方法を紹介します。まず、引数に2を足して返すメソッドがあります。(staticは省略しています)

 //引数に2を足して返す Addメソッド
 int Add(int n)
  {
  return n + 2;
  }

このメソッドをラムダ式で書くと、次のようになります。

n => n + 2

左辺に引数、右辺には戻り値を計算する式、その間に=>を書きましょう

すごくシンプルになりましたし、何となく意味も読み取れますよね。

引数が二つのメソッド

続いて、引数が二つの場合のメソッドです。aとbを渡して合計値を戻り値として返しています。

 //aとbの引数を渡して合計値を戻り値として返すメソッド
int Add(int a, int b)
   {
        return a + b;
    }

これをラムダ式で書くと次のようになります。

   (a,b) => a + b;

引数を","でつないで()で囲み、右辺は戻り値の計算式を書いています。

int 型以外の戻り値を持つメソッド

戻り値には、どの型でも指定することができます。例えば、falseとtrueを返すbool型を利用したメソッドを書いてみます。

 //引数の値が0以上ならtrue そうでなければfalseを戻り値として返すメソッド
       bool IsPositive(int n)
        {
            return n >= 0;
        }

ラムダ式に書き換えると次のようになります。

        n => n => 0

LINQの説明はこちら

it-rpa.hatenablog.com

ラムダ式を使ったLINQ・メソッド型の紹介はこちら。合わせて読むことをおすすめします!

it-rpa.hatenablog.com

ひとこと

いかがでしたでしょうか。ラムダ式はメソッドの引数と戻り値に焦点を当てた書き方だということが分かったかと思います。

 

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

 

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

◆合わせて読みたい◆