声明定义子例程 lambda 表达式的参数和代码。
语法
Sub ( [ parameterlist ] ) statement
- or -
Sub ( [ parameterlist ] )
[ statements ]
End Sub
部件
| 术语 | 定义 |
|---|---|
parameterlist |
可选。 表示过程参数的局部变量名称的列表。 即使列表为空,括号也必须存在。 有关详细信息,请参阅 参数列表。 |
statement |
必填。 单个语句。 |
statements |
必填。 语句列表。 |
注解
lambda 表达式是一个子例程,它没有名称和执行一个或多个语句。 可以在任意位置使用 lambda 表达式,可以使用委托类型,但作为参数除外 RemoveHandler。 有关委托以及将 lambda 表达式与委托一起使用的详细信息,请参阅 Delegate 语句 和 放宽委托转换。
Lambda 表达式语法
lambda 表达式的语法类似于标准子例程的语法。 区别如下:
lambda 表达式没有名称。
lambda 表达式不能有修饰符,例如
Overloads或Overrides。单行 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")