Delegate - C#

Узнай цену своей работы

Формулировка задачи:

using System;  
  
// This delegate returns int and takes an int argument. 
delegate int CountIt(int end);  
  
class VarCapture {  
 
  static CountIt Counter() { 
    int sum = 0; 
 
    // Here, a summation of the count is stored 
    // in the captured variable sum. 
    CountIt ctObj = delegate (int end) { 
      for(int i=0; i <= end; i++) { 
        Console.WriteLine(i); 
        sum += i; 
      } 
      return sum; 
    }; 
    return ctObj; 
  } 
 
  static void Main() {   
    // Get a counter. 
    CountIt count = Counter(); 
 
    int result;  
 
    result = count(3); 
    Console.WriteLine("Summation of 3 is " + result); 
    Console.WriteLine(); 
 
    result = count(5);  
    Console.WriteLine("Summation of 5 is " + result); 
  } 
}
непонимаю как эта строчка работает result = count(3); у нас же метод Counter() не принимает аргументов как туда проходит эта тройка да еще и идет в тело делегата несовсем понимаю
может быть я неправильно цепочку вызовов представляю что то совсем запутался CountIt Counter() он же не принимает аргументов или сначало вернется объект CountIt и уже в него пойдет параметр 3???

Решение задачи: «Delegate»

textual
Листинг программы
 static CountIt Counter() { 
    int sum = 0; 
 
    // Here, a summation of the count is stored 
    // in the captured variable sum. 
    CountIt ctObj = delegate (int end) {

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5