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