初心者向けVB.net入門

VB.NET ラムダ式


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

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

例外処理

配列

コレクション

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