wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Events,delegates

Total questions: 18

Worksheet time: 6mins

Name
Class
Date
1.

Для чего используется ключевое слово "delegate"?

a)

Чтобы объявить переменную

b)

Чтобы создать объект, хранящий ссылки на методы

c)

Чтобы создать класс

d)

Чтобы создать событие

2.

Можно ли использовать делегат для вызова нескольких методов?

a)

Можно

b)

Нельзя

3.

В чем преимущество использования делегатов?

a)

Это повышает производительность, избегая вызовов методов

b)

Это позволяет использовать более гибкий и повторно используемый код

c)

Это позволяет лучше управлять памятью

4.

Каков синтаксис объявления делегата в C#?

a)

delegate <return type> <delegate name>(<parameters>)

b)

delegate <delegate name>(<return type>, <parameters>)

c)

<return type> delegate <delegate name>(<parameters>)

d)

<delegate name> delegate <return type>(<parameters>)

5.

В чем разница между делегатом «Action» и «Func» в С#?

a)

Делегат Func может возвращать значение, Action- не может

b)

Делегаты Action могут использоваться в качестве обработчиков событий, а Func не могут

c)

Делегаты Action могут принимать параметры, а Func не могут

6.

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

a)

Нет, для создания делегата можно использовать только ключевое слово «new»

b)

Да

c)

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

7.

Можно ли использовать оператор «-=» для удаления метода из делегата?

a)

Нет, вы должны использовать оператор "-"

b)

Да, можно использовать оператор "-="

c)

Нет, вы должны использовать метод "remove"

d)

Да, с помощью метода "removeEventHandler"

8.

В чем разница между делегатом и событием?

a)

События можно использовать только с нестатическими методами, а делегаты можно использовать как со статическими, так и с нестатическими методами.

b)

Делегаты используются для хранения ссылок на функции, а события используются для уведомлений.

c)

События могут быть вызваны только классом, в котором они созданы, а делегаты могут быть вызваны из любого класса

9.

Как проверить, содержит ли делегат что либо?

a)

Используя метод «isnull»

b)

Используя сравнение "==false"

c)

Используя сравнение "==null"

d)

Используя сравнение "==0"

10.

Как добавить несколько функций в делегат?

a)

С помощью оператора "+="

b)

с помощью оператора "&="

c)

с помощью оператора "*="

11.

Для чего нужен метод GetInvocationList()?

a)

Чтобы получить список методов, вызываемых делегатом

b)

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

c)

Чтобы удалить определенный метод из делегата

d)

Для параллельного вызова связанных методов делегата

12.

Как передать делегат в качестве параметра в методе?

a)

С помощью метода «Invoke»

b)

C помощью метода «beginInvoke»

c)

Указав тип делегата в параметре метода

d)

с помощью делегата «Func» или «Action»

13.

Для чего нужны события?

a)

Чтобы классы могли общаться друг с другом

b)

Для обработки асинхронных операций

c)

Для обработки математических операций

d)

Как реакция на произошедшие действия

14.

Как добавить обработчиков события?

a)

с помощью оператора "+="

b)

с помощью метода «subscribe»

c)

с помощью метода «addEventListener».

15.

Могут ли существовать события без делегатов?

a)

Могут

b)

Не могут

16.

Укажите верный синтаксис удаления обработчиков событий

a)

eventName.Invoke -= methodName;

b)

eventName.Unsubscribe(methodName);

c)

eventName -= methodName;

17.

Для чего нужны лямбда-выражения?

a)

Для хранения данных в программе

b)

Для создания анонимных функций

c)

Для обработки ввода c консоли

18.

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

a)

{ parameters } = function body

b)

(parameters) => { function body }

c)

function (parameters) { function body }

d)

parameters => function body