Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 6
1

Делегаты

13.01.2015, 03:20. Показов 933. Ответов 1
Метки нет (Все метки)

Объявим делегат, принимающий два аргумента типа int, и возвращающий int:
public delegate int MathDelegate(int x, int y);
и метод
public static int Expr (int x, int y) {
return ((x*x) + (y*y));
}

Пусть есть несколько вариантов вычисления математического выражения:
1.
md = delegate (int x, int y) { return ((x*x) + (y*y)); };
Console.WriteLine("5*5 + 3*3 = {0}", md(5, 3));

2.
md = (x, y) => ((x*x) + (y*y));
Console.WriteLine("5*5 + 3*3 = {0}", md(5, 3));

3.
MathDelegate md = new MathDelegate(Expr);
Console.WriteLine("5 + 3 = {0}", md(5, 3));


Укажите верные утверждения:
В варианте (3) вычисления, передается делегату не корректная ссылка на метод Expr
В варианте (3) вычисления используется анонимный метод
В варианте (2) вычисления корректно используется лямбда-выражение
В варианте (2) вычисления допущена ошибка
В варианте (1) вычисления используется анонимный метод
Все три варианта вычислений дадут одинаковый результат
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2015, 03:20
Ответы с готовыми решениями:

Делегаты
Объясните мне пожалуйста этот код, не могу понять. Учу делегаты, а этот пример не разберу ...

Делегаты
Помогите разобраться: 1. Почему не выводит время на экран? это пример из учебника (Learn C# 3.0...

Делегаты
Объясните пожалуйста, доходчиво и "по-детски": как использовать, для чего нужны, в каких именно...

Делегаты
Практикуюсь с примерами из учебника Шилдта. using System; class A { static void Main() ...

1
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
13.01.2015, 06:07 2
Первая ( и основная) ошибка: выражение 3 должно стоять первым (иначе переменная md не объявлена).
Цитата Сообщение от Snipka Посмотреть сообщение
В варианте (3) вычисления, передается делегату не корректная ссылка на метод Expr
Неверно. Ссылка на метод корректна.
Цитата Сообщение от Snipka Посмотреть сообщение
В варианте (3) вычисления используется анонимный метод
Неверно. Анонимный метод используется в п.п 1.
Цитата Сообщение от Snipka Посмотреть сообщение
В варианте (2) вычисления корректно используется лямбда-выражение
Неверно. Выражение не заключено в круглые скобки.
Цитата Сообщение от Snipka Посмотреть сообщение
В варианте (2) вычисления допущена ошибка
Верно (предыдущий п.п).
Цитата Сообщение от Snipka Посмотреть сообщение
В варианте (1) вычисления используется анонимный метод
Верно.
Цитата Сообщение от Snipka Посмотреть сообщение
Все три варианта вычислений дадут одинаковый результат
Верно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2015, 06:07

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Делегаты
Почему так компилируется Func<decimal, decimal> f = null; f=x => x > 1...

Делегаты
Надо создать делегат и использовать его вместо функции Console.WriteLine() в запросе от...

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

Делегаты
Здраствуйте, я ноль в делегатах, задача такая: "Написать программу, выполняющую сортировку массива...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.