Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Deklaruje parametry i kod definiujący wyrażenie lambda podroutine.
Składnia
Sub ( [ parameterlist ] ) statement
- or -
Sub ( [ parameterlist ] )
[ statements ]
End Sub
Części
| Termin | Definicja |
|---|---|
parameterlist |
Opcjonalny. Lista lokalnych nazw zmiennych reprezentujących parametry procedury. Nawiasy muszą być obecne nawet wtedy, gdy lista jest pusta. Aby uzyskać więcej informacji, zobacz Lista parametrów. |
statement |
To jest wymagane. Pojedyncza instrukcja. |
statements |
To jest wymagane. Lista instrukcji. |
Uwagi
Wyrażenie lambda jest podroutyną, która nie ma nazwy i wykonuje co najmniej jedną instrukcję. Możesz użyć wyrażenia lambda w dowolnym miejscu, w którym można użyć typu delegata, z wyjątkiem argumentu do RemoveHandler. Aby uzyskać więcej informacji na temat delegatów i używania wyrażeń lambda z delegatami, zobacz Delegowanie instrukcji i Zrelaksowana konwersja delegatów.
Składnia wyrażeń lambda
Składnia wyrażenia lambda przypomina składnię standardowej podrouty. Różnice są następujące:
Wyrażenie lambda nie ma nazwy.
Wyrażenie lambda nie może mieć modyfikatora, takiego jak
OverloadslubOverrides.Treść jednowierszowego wyrażenia lambda musi być instrukcją, a nie wyrażeniem. Treść może składać się z wywołania procedury podrzędnej, ale nie wywołania procedury funkcji.
W wyrażeniu lambda wszystkie parametry muszą mieć określone typy danych lub wszystkie parametry muszą zostać wywnioskowane.
Opcjonalne i
ParamArrayparametry nie są dozwolone w wyrażeniach lambda.Parametry ogólne nie są dozwolone w wyrażeniach lambda.
Przykład
Poniżej znajduje się przykład wyrażenia lambda, które zapisuje wartość w konsoli. W przykładzie przedstawiono zarówno składnię wyrażenia lambda jednowierszowego, jak i wielowierszowego dla podroutyny. Aby uzyskać więcej przykładów, zobacz Wyrażenia 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")