|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
34.6.1. Lambda ExpressiesIn Visual Basic 9.0 (2008) kon men reeds gebruik maken van lambda expressies. Zo zal in volgend voorbeeld de expressie (Function(value As Integer) value * 2) evalueren naar een delegate die we vervolgens invokeren met argumentwaarde 5. Visual Basic 2010 Broncode Namespace VisualBasic2008 Class Example Public Shared Sub Main() Console.Write(( Function(value As Integer) value * 2).Invoke(5)) Console.ReadLine() End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Hier zal dus het dubbele van 5 op de console worden geschreven. Console Application Output 10 boven
34.6.2. Multiline Statement LandersIn Visual Basic 10.0 (2010) is het nu ook mogelijk om lambda expressies over meerdere regels te spreiden. Zo kunnen we in volgend voorbeeld in plaats van de AddressOf Print expressie ook meteen deze definitie als multiline lambda expressie opnemen. Visual Basic 2010 Broncode Namespace VisualBasic2010 Class Example Public Shared Sub Main() Dim values As Integer() = New Integer() {1, 2, 3} Array.ForEach(values, AddressOf Print) Array.ForEach(values, Sub(value) Console.WriteLine(value) End Sub) Console.ReadLine() End Sub Public Shared Sub Print( ByVal value As Integer) Console.WriteLine(value) End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output 1
2
3
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|