Делегаты, непонятен вызов функции - C#
Формулировка задачи:
Есть такой код
Непонятна строчка Countlt ctObj = delegate(int end);
Вместо ctObj , а мы вызываем count(3)?
Спасибо заранее
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Delegate
- {
- delegate int Countlt(int end);
- class VarCapture
- {
- static Countlt Counter()
- {
- int sum = 0;
- // Здесь подсчитанная сумма сохраняется в переменной sum.
- Countlt ctObj = delegate(int end)
- {
- for (int i = 0; i <= end; i++)
- {
- Console.WriteLine(i);
- sum += i;
- }
- return sum;
- };
- return ctObj;
- }
- static void Main()
- {
- // Получить результат подсчета.
- Countlt count = Counter();
- int result;
- result = count(3);
- Console.WriteLine("Сумма 3 равна " + result);
- Console.WriteLine();
- result = count(5);
- Console.WriteLine("Сумма 5 равна " + result);
- }
- }
- }
А мы пишем Countlt count = Counter(); но она же не принимает аргументов.
Решение задачи: «Делегаты, непонятен вызов функции»
textual
Листинг программы
- static Countlt Counter()
- {
- int sum = 0;
- // Здесь подсчитанная сумма сохраняется в переменной sum.
- Countlt ctObj = Sum;
- return ctObj;
- }
- static int Sum(int end)
- {
- int sum = 0;
- for (int i = 0; i <= end; i++)
- {
- Console.WriteLine(i);
- sum += i;
- }
- return sum;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д