Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Declara os parâmetros e o código que definem uma expressão lambda de sub-rotina.
Sintaxe
Sub ( [ parameterlist ] ) statement
- or -
Sub ( [ parameterlist ] )
[ statements ]
End Sub
Partes
Termo | Definição |
---|---|
parameterlist |
Opcional. Uma lista de nomes de variáveis locais que representam os parâmetros do procedimento. Os parênteses devem estar presentes mesmo quando a lista estiver vazia. Para obter mais informações, confira Lista de parâmetros. |
statement |
Obrigatórios. Uma única instrução. |
statements |
Obrigatórios. Uma lista de instruções. |
Comentários
Uma expressão lambda é uma sub-rotina que não tem um nome e que executa uma ou mais instruções. Você pode usar uma expressão lambda em qualquer lugar em que possa usar um tipo delegado, exceto como um argumento para RemoveHandler
. Para obter mais informações sobre delegados e o uso de expressões lambda com delegados, consulte Instrução Delegate e Conversão de delegado reduzida.
Sintaxe da expressão lambda
A sintaxe de uma expressão lambda é semelhante à de uma sub-rotina padrão. As diferenças são:
Uma expressão lambda não tem um nome.
Uma expressão lambda não pode ter um modificador, como
Overloads
ouOverrides
.O corpo de uma expressão lambda de linha única deve ser uma instrução, não uma expressão. O corpo pode consistir em uma chamada para um sub-procedimento, mas não uma chamada para um procedimento Function.
Em uma expressão lambda, todos os parâmetros devem ter tipos de dados especificados ou todos os parâmetros devem ser inferidos.
Parâmetros
ParamArray
e opcionais não são permitidos em expressões lambda.Parâmetros genéricos não são permitidos em expressões lambda.
Exemplo
A seguir está um exemplo de uma expressão lambda que grava um valor no console. O exemplo mostra a sintaxe de expressão lambda de linha única e de várias linhas para uma sub-rotina. Para obter mais exemplos, confira Expressões 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")