Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

ラムダ式っておじさん達には一瞬なんだかよく解りませんが、
Java 8でもラムダ式がサポートされたようなので、私を含めて、
そろそろラムダ式をちゃんと覚えようという人向けのコンテンツを書いてみました。

ラムダ式

進化

おじさん達の知識で振り返って分析してみると、
中水準言語のC言語の関数ポインタから、

高水準言語の.NET言語(C#、VB)で、

と進化してきていることぐらいは解る(?)と思います。

これを見ると、

厳密には、

というふうに進化してきています。

用途

ラムダ式は、LINQクエリ式やデリゲートと多用する
新しいAPIの使い勝手を良くするために生まれてきたようです。

これについては、以下の利用例を引き合いに出して説明したいと思います。

ポイント

文法

式形式

ステートメント形式

仮引数と実引数

仮引数(parameter)

以下の場合、仮引数(parameter)を指定する。

このため、一瞬どこから現れたのか不明な変数に見える。

LINQのメソッド ベースのクエリ構文などで使用される。

実引数(argument)

上記以外の場合は、実引数を指定する。

スコープ

ラムダ式では、そのスコープの外側にある
変数やメソッドを利用でき引数の肥大化が防げる。

(これは、匿名メソッド・匿名関数でも同じ)

利用例

ということで、引数をラムダ式にすることで、
以下のような効果が期待できるようなシーンが、
ラムダ式の代表的な利用ケースではないか?と思います。

参考

C# プログラミング ガイド

@IT

LINQ


Tags: :.NET開発


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS