Subausdruck (Visual Basic)

Deklariert die Parameter und den Code, die einen Subroutine-Lambda-Ausdruck definieren.

Syntax

Sub ( [ parameterlist ] ) statement  
- or -  
Sub ( [ parameterlist ] )  
  [ statements ]  
End Sub  

Bestandteile

Begriff Definition
parameterlist Wahlfrei. Eine Liste mit lokalen Variablennamen, die die Parameter der Prozedur darstellen. Die Klammern müssen auch dann vorhanden sein, wenn die Liste leer ist. Weitere Informationen finden Sie unter Parameterliste.
statement Erforderlich. Eine einzelne Anweisung.
statements Erforderlich. Eine Liste von Anweisungen.

Bemerkungen

Ein Lambda-Ausdruck ist eine Unterroutine, die keinen Namen hat und eine oder mehrere Anweisungen ausführt. Sie können einen Lambda-Ausdruck an einer beliebigen Stelle verwenden, an der Sie einen Delegattyp verwenden können, mit Ausnahme eines Arguments RemoveHandler. Weitere Informationen zu Stellvertretungen und zur Verwendung von Lambda-Ausdrücken mit Stellvertretungen finden Sie unter Delegate Statement and Relaxed Delegate Conversion.

Lambda-Ausdruckssyntax

Die Syntax eines Lambda-Ausdrucks ähnelt der einer Standardunterroutine. Es gibt folgende Unterschiede:

  • Ein Lambda-Ausdruck hat keinen Namen.

  • Ein Lambda-Ausdruck kann keinen Modifizierer haben, z Overloads . B. oder Overrides.

  • Der Textkörper eines einzeiligen Lambda-Ausdrucks muss eine Anweisung und kein Ausdruck sein. Der Textkörper kann aus einem Aufruf einer Unterprozedur bestehen, aber nicht aus einem Aufruf einer Funktionsprozedur.

  • In einem Lambda-Ausdruck müssen entweder alle Parameter über angegebene Datentypen verfügen, oder alle Parameter müssen abgeleitet werden.

  • Optional und ParamArray Parameter sind in Lambda-Ausdrücken nicht zulässig.

  • Generische Parameter sind in Lambda-Ausdrücken nicht zulässig.

Beispiel

Nachfolgend sehen Sie ein Beispiel für einen Lambda-Ausdruck, der einen Wert in die Konsole schreibt. Das Beispiel zeigt sowohl die Einzeil- als auch die mehrzeilige Lambda-Ausdruckssyntax für eine Unterroutine. Weitere Beispiele finden Sie unter Lambda-Ausdrücke.

Dim writeline1 = Sub(x) Console.WriteLine(x)
Dim writeline2 = Sub(x)
                     Console.WriteLine(x)
                 End Sub

' Write "Hello".
writeline1("Hello")

' Write "World"
writeline2("World")

Siehe auch