Делегаты, непонятен вызов функции - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д