static void Main(string[] args) { var array = new MyDelegate[5]; for (int i = 0; i < array.Length; i++) { array[i] = () => new MyDelegate(GetRandom).Invoke(); } MyArrayDelegate d = delegate(MyDelegate[] c) { double sr = 0; for (int i = 0; i < c.Length; i++) { sr += c[i].Invoke(); } return(sr / array.Length); }; for (int i = 0; i < array.Length; i++) { Console.Write(array[i].Invoke() + " "); } Random rar = new Random(); Console.WriteLine("\n mijin tvabanakany {0:##.###}", d(array)); Console.WriteLine(rar.Next(1, 100)); //Delay Console.ReadKey(); }
static void Main(string[] args) { // Task 1 Func <int, int, int, int> anonimous = delegate(int x, int y, int z) { return((x + y + z) / 3); }; MyAnonimousDelegate mydel = delegate(int x, int y, int z) { return((x + y + z) / 3); }; Console.WriteLine(anonimous(5, 14, 20)); Console.WriteLine(mydel(1, 10, 5)); // Task 2 Func <double, double, double> Add = (x, y) => { return(x + y); }; Func <double, double, double> Sub = (x, y) => x - y; Func <double, double, double> Mul = (x, y) => x * y; Predicate <double> isDenominanorZero = y => y == 0; Func <double, double, double> Div = (x, y) => isDenominanorZero(y) ? Double.NaN : x / y; Console.WriteLine(Add(3, 15)); Console.WriteLine(Sub(4, 1)); Console.WriteLine(Mul(3, 4)); Console.WriteLine(Div(5, 0)); Console.WriteLine(Div(25, 5)); // Task 3 MyDelegate[] delegats = new MyDelegate[3] { method31, method32, method33 }; MyArrayDelegate arrDel = delegate(MyDelegate[] arrDelegats) { return(GetAverageValue(arrDelegats)); }; Console.WriteLine("arrDel(delegats)" + arrDel(delegats)); Console.ReadLine(); }