Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Declara los parámetros y el código que definen una expresión lambda de subrutina.
Sintaxis
Sub ( [ parameterlist ] ) statement
- or -
Sub ( [ parameterlist ] )
[ statements ]
End Sub
Partes
Término | Definición |
---|---|
parameterlist |
Opcional. Lista de nombres de variables locales que representan los parámetros del procedimiento. Los paréntesis deben aparecer incluso cuando la lista esté vacía. Para obtener más información, consulta Parameter List. |
statement |
Necesario. Una instrucción única. |
statements |
Necesario. Una lista de instrucciones. |
Comentarios
Una expresión lambda es una subrutina que no tiene nombre y que ejecuta una o varias instrucciones. Puede usar una expresión lambda en cualquier lugar en el que se pueda usar un tipo de delegado, excepto como argumento para RemoveHandler
. Para más información sobre los delegados y el uso de expresiones lambda con delegados, consulte Instrucción Delegate y Conversión de delegado no estricta.
Sintaxis de la expresión lambda
La sintaxis de una expresión lambda es similar a la de una subrutina estándar. Las diferencias son las siguientes:
Una expresión lambda no tiene nombre.
Una expresión lambda no puede tener un modificador, como
Overloads
oOverrides
.El cuerpo de una expresión lambda de una línea única debe ser una instrucción, no una expresión. Este puede constar de una llamada a un subprocedimiento, pero no de una llamada a un procedimiento de función.
En una expresión lambda, todos los parámetros deben tener tipos de datos especificados o deben deducirse todos los parámetros.
Las expresiones lambda no permiten parámetros
ParamArray
ni opcionales.Las expresiones lambda no permiten parámetros genéricos.
Ejemplo
A continuación, se muestra un ejemplo de una expresión lambda que escribe un valor en la consola. En el ejemplo se muestra la sintaxis de expresión lambda de una línea única y de varias líneas para una subrutina. Para más ejemplos, consulte Expresiones 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")