ラムダ式とは名前のないメソッド
サンプルコード
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a = Function(x As Integer, Y As Integer) x * Y
MsgBox(a(3, 3))
End Sub
Dim a = Function(x As Integer, Y As Integer) x * Y
MsgBox(a(3, 3))
End Sub
ラムダ式
構文
Function(引数 As 型, 引数 As 型) 式
構文
Function(引数 As 型, 引数 As 型) 式
変数をラムダ式に代入
構文
変数名 = Function(引数 As 型, 引数 As 型) 式
構文
変数名 = Function(引数 As 型, 引数 As 型) 式
型推論でラムダ式の結果のデータが変数の型になります。
vs2010までは式は単一の式です。
subも使えるようになりました。
サンプルソース
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim Message = Sub(msg As String) MsgBox(msg)Message(“Hello”)
Dim Message = Sub(msg As String) MsgBox(msg)Message(“Hello”)
End Sub
ラムダ式
構文
sub(引数 As 型) 式
構文
sub(引数 As 型) 式
変数をラムダ式に代入
構文
変数名 = Function(引数 As 型,) 式
構文
変数名 = Function(引数 As 型,) 式
複数のFunction
サンプルソース
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim num = Function(nunber As Integer)
Select Case nunber
Case 0
Return 0
Case 1
Return 1
Case Else
Return 2
End Select
End Function
Dim put = MsgBox(num(3))
End Sub
ラムダ式
構文
Function(引数 As 型, 引数 As 型)
End Function
構文
Function(引数 As 型, 引数 As 型)
End Function
変数をラムダ式に代入
構文
変数名 = Function(引数 As 型, 引数 As 型)
End Function
構文
変数名 = Function(引数 As 型, 引数 As 型)
End Function
単一の時とは違いを後ろに式を書かないでください。
subの複数
サンプルソース
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim log = Sub(msg As String)
MsgBox(2)
End Sub
log(“0”)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim log = Sub(msg As String)
MsgBox(2)
End Sub
log(“0”)
End Sub
ラムダ式
構文
Sub(引数 As 型, 引数 As 型)
End Sub
構文
Sub(引数 As 型, 引数 As 型)
End Sub
変数をラムダ式に代入
構文
変数名 = Sub(引数 As 型, 引数 As 型)
End Function
構文
変数名 = Sub(引数 As 型, 引数 As 型)
End Function
サブルーチンの引数を取得したときにサブルーチンの中が実行される。
引数は取得したときなのでこの場合引数が1でも2でも処理は変わらない。
ラムダ式はDelegateやlinqを使用した使い方が一般的です。