Lambda Expression


delegate에서 무명 메서드 다시 람다식 ( Lambda Expression )으로 코드를 더 간결하게 표현 할수 있다.
람다식을 사용하는 이유는 다음과 같다.

  • 익명 메소드를 만드는 경우
  • Func와 Action으로 더 간편하게 무명 함수 만드는 경우
  • LINQ를 이용한 방법으로 표현하는 경우


람다식의 기본 형식은 2가지가 있다.

1. (매개변수) => { 함수 본문; }
    (a, b) => { return (a + b); }


2. (매개변수) => 반환식;
    (a, b) => (a + b)

사용 예)
        public void Run(int a, int b, CalcDelegate dele)
        {
            Console.WriteLine(dele(a, b));
        }

        public int Plus(int a, int b) { return a + b;  }
        public int Minus(int a, int b) { return a - b; }

        public void Test()
        {
            //Run(10, 20, Plus);
            //Run(10, 20, delegate(int a, int b) { return (a + b); });
            //Run(10, 20, (a, b) => { return (a + b); });
            Run(10, 20, (a, b) => (a + b));

            //Run(10, 20, Minus);
            //Run(10, 20, delegate(int a, int b) { return (a - b); });
            //Run(10, 20, (a, b) => { return (a - b); });
            Run(10, 20, (a, b) => (a -b));
        }


참조)
http://tapito.tistory.com/46
http://it-jerryfamily.tistory.com/103