Делегат Func, bool, double, double> - C#
Формулировка задачи:
Задание: реализуйте пользовательский тип делегата требуемой сигнатуры и выполните с его использованием вызов нескольких методов (с корректной сигнатурой).
a) Func<Action<char>, bool, double, double>
b) Func<Action<int>, bool, char, string>
a)
Как реализовать b)?
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text.RegularExpressions;
- namespace Rextester
- {
- public class Program
- {
- public static void Main(string[] args)
- {
- Func<Action<char>, bool, double, double> lambda = (f, flag, x) =>
- {
- f('a');
- return (flag)?(2*x):(x*x);
- };
- Action<char> TT = MyFunc;
- Console.WriteLine(lambda(TT, true, 2));
- }
- static void MyFunc(char s) {
- Console.WriteLine(s);
- }
- }
- }
Решение задачи: «Делегат Func, bool, double, double>»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace LB1
- {
- class Program
- {
- public static void Main(string[] args)
- {
- Func<Action<int>, bool, char, string> lambda = (x, flag, y) =>
- {
- x(9);
- return (flag) ? "flag is true " + y : "flag is false " + y;
- };
- Action<int> TT = MyFunc;
- Console.WriteLine(lambda(TT, true, 'M'));
- Console.WriteLine(lambda(TT, false, 'O'));
- Console.ReadLine();
- }
- static void MyFunc(int s)
- {
- s++;
- Console.WriteLine(s);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д