コード例 #1
0
        static void Main(string[] args)
        {
            NumberDelegate addOn = (x, y, z) => x + y + z;

            Console.WriteLine(addOn(2.3f, 3.5f, 4.8f));
            Console.ReadKey();
        }
コード例 #2
0
        public delegate int NumberDelegate(int a);                              // Объявление класса-делегата с именем NumberDelegate, сообщенного с методом, который принимает целочисленный параметр типа int и возвращает целочисленное значение

        static void Main(string[] args)
        {
            Console.WriteLine("An array of delegates using an array of anonymous methods".ToUpper());
            Console.WriteLine(new string('-', 150));
            int order = 1;                                                                 // Переменная определяет порядок выведенных в консоли массивов

            while (true)                                                                   // Условная конструкция - определяет циклический возврат для массивов делегатов
            {
                Random           random          = new Random();                           // Экземпляр класса (генератор псевдослучайных чисел)
                NumberDelegate[] delegateMassive = new NumberDelegate[random.Next(1, 20)]; //Создание масива классов-делегатов типа NumberDelegate с псевдослучайным присвоением размера массива
                DelegateMassive  @delegate       = delegate(NumberDelegate[] massive)      // Создание экземпляра класса-делегата типа DelegateMassive с присвоением ему анонимного метода, который принимает массив делегатов типа NumberDelegate и возвращает среднеарифметическое значение сообщенных анонимных методов массива NumberDelegate
                {
                    int sum = 0;                                                           // Переменная, которая суммирует все целочисленные значения, которые возвращают сообщенные анонимные методы массива делегатов типа NumberDelegate
                    Console.Write("{1} - massive [{0}]: (".ToUpper(), massive.Length, order);
                    for (int i = 0; i < massive.Length; i++)                               // Циклическая конструкция для инициализации элементов массива
                    {
                        massive[i] = new NumberDelegate(delegate(int b) { return(b); });   // Присвоение элементу массива делегатов типа NumberDelegate целочисленного значения, которые возвращают анонимные методы
                        int number    = random.Next(0, 1000);                              // Присвоение целочисленной переменной псевдослучайного числа от нуля до 100
                        int numberTwo = massive[i].Invoke(number);
                        Console.Write(numberTwo);
                        if (i != massive.Length - 1)
                        {
                            Console.Write(" + ");
                        }
                        sum += numberTwo;                                      // Сумма всех целочисленных значений, которые возвращают анонимные методы в элементах массива типа NumberDelegate
                    }
                    Console.Write(")/{0} = ", massive.Length);
                    return(sum / massive.Length);                              // Возвращение среднеарифметического значения всех возвращенных целочисленных значений от анонимных методов массива NumberDelegate
                };
                Console.Write(@delegate.Invoke(delegateMassive) + "\n");       // Вывод в консоли параметров класса-делегата типа DelegateMassive
                Console.ReadKey();
                ++order;
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: varathansp/CSharp-Programs
        static void Main(string[] args)
        {
            //PrintDelegate printDelegate1, printDelegate2, printDelegate3, printDelegate4;
            //printDelegate1 = new PrintDelegate(PrintMethod1);
            //printDelegate2 = new PrintDelegate(PrintMethod2);
            //printDelegate3 = new PrintDelegate(PrintMethod3);

            //printDelegate4 = printDelegate1 + printDelegate2 + printDelegate3;
            //printDelegate4();

            //NumberDelegate();
            NumberDelegate numberDelegate = new NumberDelegate(NumberMethod1);

            numberDelegate += NumberMethod2;

            int result = numberDelegate();

            Console.WriteLine(result);


            //void OutPutParameterDelegate(out int result)

            OutPutParameterDelegate outPutParameterDelegate = new OutPutParameterDelegate(OutMethod1);

            outPutParameterDelegate += OutMethod2;
            int FinalResult = 5;

            outPutParameterDelegate(out FinalResult);

            Console.WriteLine(FinalResult);
        }
コード例 #4
0
        static void Main(string[] args)
        {
            NumberDelegate timesTwo = (x => x * 2);

            Console.WriteLine(timesTwo(7));
            Console.ReadKey();
        }
コード例 #5
0
 static IEnumerable <int> GetNumbers(IEnumerable <int> numbers, NumberDelegate delly)
 {
     foreach (int item in numbers)
     {
         if (delly(item))
         {
             yield return(item);
         }
     }
 }
コード例 #6
0
        public static void Main(string[] args)
        {
            NumberDelegate delegateMethod1 = Add;

            delegateMethod1.Invoke(3, 2);
            delegateMethod1(5, 4);


            NumberDelegate delegateMethod2 = (a, b) => Multiply(a, b);

            delegateMethod2.Invoke(3, 4);
        }
        public static List <int> MaxNetice(this List <int> list, NumberDelegate del)
        {
            var maxValue = new List <int>();

            foreach (var item in list)
            {
                if (del(item))
                {
                    maxValue.Add(item);
                }
            }
            return(maxValue);
        }
        public static List <int> SerteGoreNEtice(this List <int> list, NumberDelegate del)
        {
            var custom = new List <int>();

            foreach (var item in list)
            {
                if (del(item))
                {
                    custom.Add(item);
                }
            }
            return(custom);
        }
コード例 #9
0
        static void Main(string[] args)
        {
            int      n        = 15;
            FizzBuzz fizzBuzz = new FizzBuzz(n);

            NumberDelegate   fizzBuzzNumber   = new NumberDelegate(fizzBuzz.Number);
            BuzzDelegate     fizzBuzzBuzz     = new BuzzDelegate(fizzBuzz.Buzz);
            FizzDelegate     fizzBuzzFizz     = new FizzDelegate(fizzBuzz.Fizz);
            FizzbuzzDelegate fizzBuzzFizzbuzz = new FizzbuzzDelegate(fizzBuzz.Fizzbuzz);

            fizzBuzzNumber.BeginInvoke(x => { Console.WriteLine(x); }, null, null);
            fizzBuzzBuzz.BeginInvoke(() => { Console.WriteLine("Buzz"); }, null, null);
            fizzBuzzFizz.BeginInvoke(() => { Console.WriteLine("Fizz"); }, null, null);
            fizzBuzzFizzbuzz.BeginInvoke(() => { Console.WriteLine("Fizzbuzz"); }, null, null);

            Console.ReadKey();
        }
コード例 #10
0
        static void Main(string[] args)
        {
            NumberDelegate numDele = new NumberDelegate(addNum);

            numDele(5);
            myDelegateClass mc       = new myDelegateClass();
            NumberDelegate  numDele2 = new NumberDelegate(mc.addNum);

            numDele2(15);

            D cd1 = new D(C.M1);

            cd1(-1);
            Console.WriteLine();
            D cd2 = new D(C.M2);

            cd2(-2);
            Console.WriteLine();
            D cd3 = cd1 + cd2;

            cd3(-3);
            Console.WriteLine();
            C c   = new C();
            D cd4 = new D(c.M3);

            cd3 += cd4;
            cd3(10);
            Console.WriteLine();
            cd3 += cd1;
            cd3(20);
            Console.WriteLine();
            cd3 -= cd1;
            cd3(30);



            Console.WriteLine("value of num:{0}", k);
            Console.WriteLine("value of Class num:{0}", mc.num);
            Console.ReadLine();
        }
コード例 #11
0
        static void Main(string[] args)
        {
            string fav = "Dog";
            //Instantiate the delegate

            NumberDelegate obj = delegate(int x)
            {
                Console.WriteLine("Anonymous Method:{0}", x);
            };

            obj(20);

            obj = new NumberDelegate(Addnums);
            obj(10);

            obj = new NumberDelegate(Mulnums);
            obj(7);


            PetDelegate p = delegate(string mypet)
            {
                Console.WriteLine("My Favorite pet is {0}", mypet);
                Console.WriteLine("And I Like {0} aslo", fav);
            };

            p("Cat");

            GreetingsDelegate obj1 = delegate(string name)
            {
                Console.WriteLine(" Hello Friends " + name + "");
            };

            obj1("Good Noon");



            Console.ReadLine();
        }
コード例 #12
0
 public static void NumberMaster(int num1, int num2, NumberDelegate numberDel)
 {
     Console.WriteLine($"The result is { numberDel(num1, num2) }");
 }
コード例 #13
0
 public static void NumbersOperation(int n1, int n2, NumberDelegate numberDelegate)
 {
     Console.WriteLine($"Result is: {numberDelegate(n1, n2)}");
 }