通过


子表达式 (Visual Basic)

声明定义子例程 lambda 表达式的参数和代码。

语法

Sub ( [ parameterlist ] ) statement  
- or -  
Sub ( [ parameterlist ] )  
  [ statements ]  
End Sub  

部件

术语 定义
parameterlist 可选。 表示过程参数的局部变量名称的列表。 即使列表为空,括号也必须存在。 有关详细信息,请参阅 参数列表
statement 必填。 单个语句。
statements 必填。 语句列表。

注解

lambda 表达式是一个子例程,它没有名称和执行一个或多个语句。 可以在任意位置使用 lambda 表达式,可以使用委托类型,但作为参数除外 RemoveHandler。 有关委托以及将 lambda 表达式与委托一起使用的详细信息,请参阅 Delegate 语句放宽委托转换

Lambda 表达式语法

lambda 表达式的语法类似于标准子例程的语法。 区别如下:

  • lambda 表达式没有名称。

  • lambda 表达式不能有修饰符,例如 OverloadsOverrides

  • 单行 lambda 表达式的主体必须是语句,而不是表达式。 正文可以包含对子过程的调用,但不能包含对函数过程的调用。

  • 在 lambda 表达式中,所有参数都必须具有指定的数据类型,或者必须推断所有参数。

  • lambda 表达式中不允许使用可选参数 ParamArray 和参数。

  • lambda 表达式中不允许使用泛型参数。

示例:

下面是将值写入控制台的 lambda 表达式的示例。 该示例显示了子例程的单行和多行 lambda 表达式语法。 有关更多示例,请参阅 Lambda 表达式

Dim writeline1 = Sub(x) Console.WriteLine(x)
Dim writeline2 = Sub(x)
                     Console.WriteLine(x)
                 End Sub

' Write "Hello".
writeline1("Hello")

' Write "World"
writeline2("World")

另请参阅