文章
博客 网店

 VB.NET基础 - Action和Func委托


Action是系统定义的一系列委托,它们可以指向可以有参数(泛型定义)但没有返值的方法。
Action :无参数
Action〈T〉 :有一个参数
Action:有两个参数
...  *[好像最多定义了16个参数的]*
委托可以理解为C++的指向函数的指针,而Action更象函数模板。

与Action对应,Func就是有返回值的函数模板。

示例如下:


Imports System
Module Module1

    Sub Main()
        '使用addressof 指定指向函数 
        Dim f1 As New Action(Of String)(AddressOf Prnt)

        '指向lambda 表达式
        Dim f2 As Action = Sub()
                               Console.WriteLine("SUB2" + Environment.NewLine)
                           End Sub

        '指向lambda 表达式
        Dim f3 As New Action(Sub()
                                 Console.WriteLine("SUB3" + Environment.NewLine)
                             End Sub)

        'func同理,增加一个返回类型,注:最后一个形参就是返回类型
        'Dim f4 As Func(Of Integer) = Function() As Integer
        '                                 Return 8
        '                             End Function


        f1("SUB1")
        f2()
        f3()
        Console.ReadKey()
    End Sub

    Private Sub Prnt(strContent As String)
        Console.WriteLine(strContent + Environment.NewLine)
    End Sub

End Module



芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved