RosettaCodeData/Task/Apply-a-callback-to-an-array/Visual-Basic-.NET/apply-a-callback-to-an-arra...

26 lines
891 B
VB.net

Module Program
Function OneMoreThan(i As Integer) As Integer
Return i + 1
End Function
Sub Main()
Dim source As Integer() = {1, 2, 3}
' Create a delegate from an existing method.
Dim resultEnumerable1 = source.Select(AddressOf OneMoreThan)
' The above is just syntax sugar for this; extension methods can be called as if they were instance methods of the first parameter.
resultEnumerable1 = Enumerable.Select(source, AddressOf OneMoreThan)
' Or use an anonymous delegate.
Dim resultEnumerable2 = source.Select(Function(i) i + 1)
' The sequences are the same.
Console.WriteLine(Enumerable.SequenceEqual(resultEnumerable1, resultEnumerable2))
Dim resultArr As Integer() = resultEnumerable1.ToArray()
Array.ForEach(resultArr, AddressOf Console.WriteLine)
End Sub
End Module