using System; using static System.Console; class main{ public static Func make_fa(){ double a=0; Func fa = delegate(){a++;return a;}; return fa; } public delegate double fun_of_3_doubles(double x, double y, double z); public static void Main(){ System.Func fun = delegate(){return 7;}; Func square = delegate(double x){return x*x;}; Action hello = delegate(){ WriteLine("hello");}; fun_of_3_doubles f3 = delegate(double x, double y, double z){return 9;}; Func f4 = delegate(double x, double y, double z){return 4;}; hello(); WriteLine($"fun()={fun()} should be equal 7"); WriteLine($"square(2)={square(2)} should be equal 4"); WriteLine($"f3(1,2,3)={f3(1,2,3)} should be equal 9"); WriteLine($"f4(1,2,3)={f4(1,2,3)} should be equal 4"); double a=0; Action fa = delegate(){a++;}; fa(); WriteLine($"a={a} should be 0 or >1<"); fa(); WriteLine($"a={a} should be 0 or >2<"); fa(); WriteLine($"a={a} should be 0 or >3<"); fa(); WriteLine($"a={a} should be 0 or >4<"); Func fb = make_fa(); WriteLine($"fb()={fb()} should be 1"); WriteLine($"fb()={fb()} should be 2"); WriteLine($"fb()={fb()} should be 3"); Func fc = make_fa(); WriteLine($"fc()={fc()} should be 4 or >1<"); } }