Compartir a través de


Subexpresión (Visual Basic)

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 o Overrides.

  • 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")

Consulte también