wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Лямбда-выражения

Total questions: 15

Worksheet time: 8mins

Name
Class
Date
1.

Что из ниже перечисленного наилучшим образом описывает назначение лямбда-выражений в контексте языка программирования?

a)

Упрощённая запись анонимных методов и локальных функций, которые можно передавать как аргументы

b)

Специальная конструкция для определения глобальных переменных с расширенной областью видимости

c)

Механизм компиляции, ускоряющий выполнение циклов за счёт оптимизации байт-кода

d)

Исключительно синтаксис для описания LINQ-запросов без возможности передачи как значений

2.

Выберите корректную общую форму синтаксиса лямбда-выражения, согласно материалу.

a)

(параметры) => { объявление_типа : выражение }

b)

выражение => (список_параметров)

c)

lambda(выражение) -> (список_параметров)

d)

(список_параметров) => выражение

3.

Как читается оператор => в лямбда-выражениях в данном материале?

a)

Переходит или становится

b)

Имплицитно приводится

c)

Присваивает или копирует

d)

Сопоставляет или связывает

4.

Какое требование к типам параметров лямбда-выражения указано при сопоставлении с параметрами делегата?

a)

Типы параметров должны всегда быть строковыми

b)

Типы параметров должны быть одинаковыми с типами параметров соответствующего делегата

c)

Типы параметров автоматически становятся динамическими

d)

Типы параметров должны отличаться от типов параметров делегата для предотвращения конфликтов

5.

Что следует сделать, если компилятору трудно или невозможно вывести типы входных параметров лямбда-выражения?

a)

Заменить лямбда-выражение на обычный метод

b)

Удалить параметры и использовать пустые скобки

c)

Указать типы явно в списке параметров

d)

Объявить параметры как dynamic без уточнений

6.

Как оформить лямбда-выражение, когда параметров не требуется?

a)

Использовать пустые скобки: () => выражение

b)

Опустить скобки и написать просто => выражение

c)

Использовать ключевое слово none => выражение

d)

Указать параметр с типом void: (void x) => выражение

7.

Какое утверждение о теле лямбда-выражения верно согласно материалу?

a)

Тело лямбда-выражения всегда должно быть блоком операторов

b)

Лямбда-выражение необязательно принимает блок операторов; оно может ссылаться на метод

c)

Лямбда-выражение не может ссылаться на методы, только на выражения

d)

Тело лямбда-выражения должно содержать минимум три оператора

8.

Каким образом лямбда-выражения могут использоваться подобно делегатам?

a)

Их можно использовать только как возвращаемые значения

b)

Их необходимо компилировать отдельно и подключать как библиотеку

c)

Их можно передавать в качестве параметров методов

d)

Их применяют исключительно для инициализации констант

9.

Что означает «захват внешних переменных» в контексте лямбда-выражений?

a)

Лямбда-выражение может ссылаться на переменные из области метода или типа, где оно определено, сохраняя их для дальнейшего использования

b)

Лямбда-выражение автоматически копирует все глобальные переменные в свой локальный контекст

c)

Лямбда-выражение запрещает доступ к переменным вне своей собственной области

d)

Лямбда-выражение наследует значения только параметров делегата, но не локальных переменных

10.

Какое условие должно быть выполнено для внешней переменной, прежде чем её можно использовать в лямбда-выражении?

a)

Переменная должна быть объявлена на уровне класса

b)

Переменная должна быть объявлена как static

c)

Переменная должна быть помечена атрибутом Capture

d)

Переменной должно быть присвоено определённое значение до использования

11.

Как ведёт себя захваченная переменная относительно сборщика мусора?

a)

Не будет уничтожена сборщиком мусора, пока делегат, который на неё ссылается, не перейдёт в статус подлежащего уничтожению

b)

Будет немедленно очищена после выхода из области метода

c)

Будет уничтожена при первой итерации сборщика мусора независимо от ссылок

d)

Станет недоступной, но не будет уничтожена

12.

Что верно об области видимости переменной, объявленной внутри лямбда-выражения?

a)

Она видна только как read-only во внешнем методе

b)

Она доступна во всём типе, где объявлено лямбда-выражение

c)

Она невидима во внешнем методе

d)

Она автоматически становится параметром делегата

13.

Какие параметры метода не может непосредственно захватывать лямбда-выражение?

a)

Параметры, объявленные как ref или out

b)

Параметры, объявленные как params

c)

Параметры-значения типов int и bool

d)

Параметры, объявленные как in

14.

Как оператор return ведёт себя внутри лямбда-выражения согласно материалу?

a)

Всегда завершает внешний метод, из которого вызвана лямбда-функция

b)

Не приводит к возврату (завершению) метода, объявившего/вызвавшего лямбда-выражение

c)

Приводит к завершению всего приложения

d)

Никак не влияет на выполнение ни лямбды, ни метода

15.

Какое утверждение об операторах управления потоком внутри лямбда-функции верно?

a)

Разрешено использовать goto на любой метке вне блока

b)

Нельзя использовать goto, break или continue, если целевой объект перехода находится вне блока; это будет ошибкой

c)

break и continue всегда допустимы, независимо от расположения целевого объекта

d)

Запрещены только операторы goto, остальные всегда разрешены