Compartir por


Sub Expression (Visual Basic)

Declara los parámetros y el código que definen una expresión lambda 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 estar presentes incluso cuando la lista está vacía. Para obtener más información, vea Lista de parámetros.
statement Obligatorio. Una sola instrucción.
statements Obligatorio. Lista de instrucciones.

Observaciones

Una expresión lambda es una subrutina que no tiene un nombre y que ejecuta una o varias instrucciones. Puede usar una expresión lambda en cualquier lugar donde pueda usar un tipo de delegado, excepto como argumento para RemoveHandler. Para obtener más información sobre los delegados y el uso de expresiones lambda con delegados, vea Delegate Statement and Relax Delegate Conversion.

Sintaxis de expresión lambda

La sintaxis de una expresión lambda es similar a la de una subrutina estándar. Estas son las diferencias:

  • Una expresión lambda no tiene un nombre.

  • Una expresión lambda no puede tener un modificador, como Overloads o Overrides.

  • El cuerpo de una expresión lambda de una sola línea debe ser una instrucción, no una expresión. El cuerpo puede constar de una llamada a un procedimiento secundario, pero no una llamada a un procedimiento de función.

  • En una expresión lambda, todos los parámetros deben tener tipos de datos especificados o todos los parámetros deben inferirse.

  • No se permiten parámetros y ParamArray opcionales en expresiones lambda.

  • No se permiten parámetros genéricos en expresiones lambda.

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 sola línea y de varias líneas para una subrutina. Para obtener más ejemplos, vea 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")

Consulte también