C# 委托:把方法组合到一个数组中使用

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);

        }

    }

}

 

你可能感兴趣的:(C#)