Поделиться через


Вложенное выражение (Visual Basic)

Объявляет параметры и код, определяющие лямбда-выражение 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")

См. также