Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объявляет параметры и код, определяющие лямбда-выражение subroutine.
Синтаксис
Sub ( [ parameterlist ] ) statement
- or -
Sub ( [ parameterlist ] )
[ statements ]
End Sub
Комплектующие
Срок | Определение |
---|---|
parameterlist |
Необязательно. Список имен локальных переменных, представляющих параметры процедуры. Скобки должны присутствовать, даже если список пуст. Дополнительные сведения см. в разделе "Список параметров". |
statement |
Обязательное. Одна инструкция. |
statements |
Обязательное. Список инструкций. |
Замечания
Лямбда-выражение — это подзадача, которая не имеет имени и выполняет одну или несколько инструкций. Лямбда-выражение можно использовать в любом месте, где можно использовать тип делегата, за исключением аргумента RemoveHandler
. Дополнительные сведения об делегатах и использовании лямбда-выражений с делегатами см. в разделе "Оператор делегата" и " Расслабленное преобразование делегатов".
Синтаксис лямбда-выражения
Синтаксис лямбда-выражения похож на стандартный вложенный код. Различия приведены следующим образом:
Лямбда-выражение не имеет имени.
Лямбда-выражение не может иметь модификатор, например
Overloads
илиOverrides
.Текст лямбда-выражения одной строки должен быть оператором, а не выражением. Текст может состоять из вызова вложенной процедуры, но не вызова процедуры-функции.
В лямбда-выражении все параметры должны иметь указанные типы данных или все параметры должны быть выведены.
Необязательные и
ParamArray
параметры не допускаются в лямбда-выражениях.Универсальные параметры не допускаются в лямбда-выражениях.
Пример
Ниже приведен пример лямбда-выражения, которое записывает значение в консоль. В примере показан синтаксис однострочного и многострочного лямбда-выражения для подпрограммы. Дополнительные примеры см. в лямбда-выражениях.
Dim writeline1 = Sub(x) Console.WriteLine(x)
Dim writeline2 = Sub(x)
Console.WriteLine(x)
End Sub
' Write "Hello".
writeline1("Hello")
' Write "World"
writeline2("World")