VB.NET ラムダ式

      2017/07/13


ラムダ式とは名前のないメソッド
サンプルコード

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
ラムダ式
構文
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")

End Sub

ラムダ式
構文
sub(引数 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

単一の時とは違いを後ろに式を書かないでください。

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 Function

サブルーチンの引数を取得したときにサブルーチンの中が実行される。
引数は取得したときなのでこの場合引数が1でも2でも処理は変わらない。

ラムダ式はDelegateやlinqを使用した使い方が一般的です。

基礎文法をサンプルコードや文章で解説しています。

変数と型と演算子

インクリメント デクリメント

vb-net入門-三項演算子 IIf関数 If演算子

値型と参照型

構造体

IfとSelect Case条件文

For NextとFor Each条件文

Do While Loop条件文

イベント

イベントハンドラの追加と削除

デリケート

マルチキャストデリケート

ラムダ式

クラス

継承

隠蔽

ポリモーフィズム

抽象クラスと抽象メソッド

インターフェース

ジェネリック

LINQ

例外処理

配列

コレクション

サブルーチンとファンクション

PR



 - 基礎文法 ,

Translate »