델리게이트에 이런 강력한 기능은 c#만에 매력인거 같다. 만약 이 기능이 없었더라면 우리는 더 많은 코딩을 했을것이다.
아래는 좋은 예이다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Client
{
    delegate int IntOp(int a, int b);

    class Program
    {
        public static int Add(int a, int b) { return a + b; }
        public static int Mul(int a, int b) { return a * b; }

        static void Main(string[] args)
        {
            IntOp[] arOp = {Add, Mul};
            int a=3, b=5;
            int o;

            Console.Write("어떤 연산을 하고 싶습니까?(1:덧셈,2:곱셈)");
            o = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("결과는 {0} 입니다.", arOp[o-1](a,b));
        }
    }
}

+ Recent posts