ラムダ式 VB

VB Tips And Sample(HOME)VB.NET再入門

ラムダ式 VB

	Private Function A() As Integer

			Dim x = Function(c As Integer) c + 1

			Return x(1) 
			'2

			Call B()
			'2
	End Function

	Private Sub B()
			Dim x = Sub(c As Integer) Debug.Print((c + 1).ToString)
	End Sub
	

え?
こんな事、書けるの?
という代物がこのラムダ式(名前のない関数Function、Subルーチン)。
関数を変数に放り込んでいる。2008から書けるようになったらしい。
こりゃ可読性悪いな
と思うのは管理人だけなのか?
完全にVB6から変わったな~と言う印象を受けます。
しかし、
文句を言っても既に、先の「String.Aggregateを自作してみる」で使われているようだ。
MSのラムダ式解説ページ
とにかく、VB2010から、名前のない関数Function、Subルーチンがバシバシ登場し、やたら拡張メソッド内とかで使われているのではないでしょうか? そういえば、ASP.NETのMVC4でこんなコードが出てきてたぞ・・・・・
10 行でズバリ!! ASP.NET MVC におけるデータの取得から画面表示までの流れ (VB)
こりラムダ式は必須事項になったようだ。


VB Tips And Sample(HOME)VB.NET再入門