Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,846 questions

55,675 answers

573 users

How to use higher-order functions in VB.NET

2 Answers

0 votes
Imports System

Module Program

    ' A higher‑order function is a function that does at least one of the following:
    ' 1. Takes another function as an argument
    ' 2. Returns a function as its result
    ' If it does either one, it qualifies.

    ' Higher-order function: takes a function as an argument
    Function applyTwice(fn As Func(Of Integer, Integer), x As Integer) As Integer
        Return fn(fn(x))
    End Function

    ' A simple function to pass in
    Function add3(n As Integer) As Integer
        Return n + 3
    End Function

    Sub Main()

        ' Use the higher-order function
        Dim result As Integer = applyTwice(AddressOf add3, 5) ' 5 + 3 = 8 + 3 = 11

        Console.WriteLine(result)
    End Sub

End Module


	
' run:
'
' 11
'

 



answered Jun 4 by avibootz
0 votes
Imports System

Module Program

    ' A higher‑order function is a function that does at least one of the following:
    ' 1. Takes another function as an argument
    ' 2. Returns a function as its result
    ' If it does either one, it qualifies.

    ' makeMultiplier is a higher‑order function because it RETURNS another function
    Function makeMultiplier(n As Integer) As Func(Of Integer, Integer)

        ' This inner function forms a closure and remembers the value of n
        Return Function(x As Integer) x * n ' Uses the captured value n

    End Function

    Sub Main()

        ' double is now a function created by makeMultiplier(2)
        ' It remembers n = 2 through closure
        Dim doubleFn As Func(Of Integer, Integer) = makeMultiplier(2)

        ' Calling doubleFn(10) multiplies 10 by the captured n (which is 2)
        Console.WriteLine(doubleFn(10))
    End Sub

End Module


	
' run:
'
' 20
'

 



answered Jun 4 by avibootz
...