Espressione secondaria (Visual Basic)

Dichiara i parametri e il codice che definiscono un'espressione lambda subroutine.

Sintassi

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

Parti

Termine Definizione
parameterlist Opzionale. Elenco di nomi di variabili locali che rappresentano i parametri della routine. Le parentesi devono essere presenti anche quando l'elenco è vuoto. Per altre informazioni, vedere Elenco di parametri.
statement Obbligatorio. Singola istruzione.
statements Obbligatorio. Elenco di istruzioni.

Osservazioni:

Un'espressione lambda è una subroutine che non ha un nome e che esegue una o più istruzioni. È possibile usare un'espressione lambda ovunque sia possibile usare un tipo delegato, ad eccezione di un argomento per RemoveHandler. Per altre informazioni sui delegati e sull'uso di espressioni lambda con delegati, vedere Istruzione delegate e conversione di delegati relaxed.

Sintassi dell'espressione lambda

La sintassi di un'espressione lambda è simile a quella di una subroutine standard. Le differenze sono le seguenti:

  • Un'espressione lambda non ha un nome.

  • Un'espressione lambda non può avere un modificatore, ad esempio Overloads o Overrides.

  • Il corpo di un'espressione lambda a riga singola deve essere un'istruzione, non un'espressione. Il corpo può essere costituito da una chiamata a una routine secondaria, ma non da una chiamata a una routine di funzione.

  • In un'espressione lambda tutti i parametri devono avere tipi di dati specificati o tutti i parametri devono essere dedotti.

  • I parametri e ParamArray facoltativi non sono consentiti nelle espressioni lambda.

  • I parametri generici non sono consentiti nelle espressioni lambda.

Esempio

Di seguito è riportato un esempio di espressione lambda che scrive un valore nella console. L'esempio mostra sia la sintassi dell'espressione lambda a riga singola che quella su più righe per una subroutine. Per altri esempi, vedere Espressioni 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")

Vedere anche