using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class MathOperations { public static double MultiplyByTwo(double value) { return value * 2; } public static double Square(double value) { return value * value; } } delegate double DoubleOpt(double x); class Program { public enum TimeOfDay { Morning = 0, Afternoons = 1, Evening = 2 } static void Main(string[] args) { DoubleOpt[] opt = { MathOperations.MultiplyByTwo, MathOperations.Square }; for (int i = 0; i < opt.Length;i++ ) { System.Console.WriteLine("Using Options [{0}]:",i); ProcessAndDisplayNumber(opt[i], 2.0); ProcessAndDisplayNumber(opt[i], 7.94); ProcessAndDisplayNumber(opt[i], 1.414); Console.WriteLine(); } } static void ProcessAndDisplayNumber(DoubleOpt opt,double value) { double result = opt(value); System.Console.WriteLine("Value is {0}, result of operation is {1}", value,result); } } }