Linq

C# ラムダ式(=>)について解説します。 まずはデリゲートについて覚えましょう。 

今回のテーマ

こんばんは、かっぱちゃんです。

今回は、下記のテーマについて書いていきます。

今回のテーマ

ラムダ式について

今回はラムダ式について、理解するためにデリゲートの解説をしていこうと思います。

今までLinqのメソッドや使い方について、解説してきました。

Linqの書き方は今回紹介するデリゲートを省略した書き方なのです。

なので、今回の記事のソースコードは覚える必要はなく、元はこんな書き方だったんだなーって感覚でいいです。しかし、デリゲートを使うことによるメリットは解説するので、そこだけは覚えてください。

今回の記事を順番にみていくことで、Linqの理解にもきっとつながるとおもうので、紹介していきたいと思います。

CHECK

C# Linqはとても便利なので使い方を覚えよう。Selectメソッド、Whereメソッドを解説します。

今回のテーマContents1 今回のテーマ2 Linqを使用する場面3 Linqメソッドの解説の流れ4 Selectメソッドの使い方5 Whereメソッドの使い方6 まとめ こんばんは、かっぱちゃん ...

続きを見る

早速デリゲートについて解説していくよ!
KappaChan

他のLinqの記事についてはこちら

デリゲートを使わない例

まず、以下のソースコードを見てください。

指定した数の個数を返すメソッド

 result
4

上記のメソッドはCalcクラスに定義されており、配列の中から偶数の個数を返すメソッドです。

このメソッドでは、別の条件でカウントを行いたい場合には利用することができません。例えば、奇数の要素の個数などです。

上記のようなことをデリゲートを使用すれば実現できます。

デリゲートを使ってみよう

早速デリゲートを使用してみましょう。

デリゲートを使う例

 result
4

デリゲートを使う例のポイントは下記の3つです。

24行目:デリゲートの宣言

11行目:デリゲートの変数に関数を代入している

30行目:代入した関数の結果で判定する

まず、デリゲートの宣言方法は24行目のように記述すればできます。ここで重要なのは、引数の型と戻り値の型です。

11行目のように代入できる関数は引数の型と戻り値の型が一致してれば大丈夫です。今回の場合では、引数はint型、戻り値の型はbool型ですね。

30行目では、デリゲートで宣言した変数の引数をint型で指定してあげれば、bool型で結果を返してくれます。

デリゲートを使用すれば、奇数の個数が欲しい場合でも、別に関数を作って代入すれば

呼び出される側の関数を変更することなく、実現することができます。

下記に偶数と奇数の個数を呼び出すソースコードを書いていきます。

デリゲートを使う例

 result
4
6

偶数の要素の数と奇数の要素の数それぞれ返して出力していますね。

KappaChan
呼び出される側のメソッドを変更しないで実現できるよ!

まとめ

今回はデリゲートについて学びました。

デリゲートのメリットについてはこの記事を見直して頂ければ、すぐに分かるとおもうので、何回も読み直してください。

次の記事では、デリゲートの書き方をもっと簡潔に書き、ラムダ式の形にしていきます。

今回の記事は以上です。最後まで見て頂きありがとうございました。

KappaChan
最後までみてくれてありがとう!

他のLinqの記事についてはこちら

プログラミングを一人で独学をするならプロからオンラインで教えてもらいましょう!10倍効率いいです!!

数多くあるプログラミング教室の中で2つのオンライン教室を厳選しました!どちら共、エンジニアとしての就職までサポートしてくれる本当にオススメの教室です。個別相談は完全無料です!!

カウンセリングは完全無料!未経験でITエンジニアを目指したい方にオススメ!

Webエンジニアになりたい方にオススメ!個別相談は無料!

KappaChan
オンラインのプログラミング教室は本当にオススメかっぱ!!

新しいサイト作りました。アニメのまとめサイトです。

レインボーリアルタイムTwitter(アニメ版)

レインボーリアルタイムTwitter(映画版)

-Linq

X