ラムダ式

ラムダ式とは?

ラムダ式とは、メソッドの簡略記法のことです。特に匿名メソッドを作成する際に使用します。

Visual Basic 2008(Visual Studio 2008、DotnetFramework3.5)で式形式のFunctionが導入されました。さらに2010で式形式のSubおよび文形式が導入されました。(式形式、文形式については後述)

LINQの拡張メソッドの多くは引数としてラムダ式を受け取ります。

 

ラムダ式の基本構文

ラムダ式の基本構文は以下のようになります。

Function(左辺) 右辺
Sub(左辺) 右辺 'SubはVisual Basic 2010以降で使用可能

左辺

左辺はメソッドのパラメータを次のようなルールに従い記述します。

  • パラメータリストを丸括弧で囲む
  • 複数のパラメータがある場合はカンマで区切る
  • 引数がない場合には丸括弧だけを書く
  • 型を推測できる場合は省略できる

なお、C#では、引数が1つだけの場合には丸括弧を省略できますが、VB.netでは丸括弧は省略できません。

Function(x As Integer) => 右辺
Function(x) => 右辺
Function() => 右辺
Function(x, y) = 右辺
※VB2010からは返値がないものはSUBが使えるえる

右辺

文形式(ステートメント形式)と式形式の2つの記法があります。

なお、文形式および、式形式の「Sub」は、Visual Basic 2010以降でみ使用可能です。

Function(左辺) 式

Sub(左辺) 式 ’VB2010以降のみ

Function(左辺) ’VB2010以降のみ
  文1
  文2
  Return 文3
End Function

Sub(左辺) ’VB2010以降のみ
  文1
  文2
  文3
End Sub

 

その他

  • ラムダ式より前で定義された変数を、ラムダ式の右辺の中で参照できます。
  • 文形式のFunctionの場合には必ずReturnが必要です。
  • 式形式のFunctionの場合には?

 

参考

VBラムダ式 基礎文法最速マスター