소년포비의 세계정복!!

[C#] 람다식(Lambda Expression) 본문

프로그램 세상/C#

[C#] 람다식(Lambda Expression)

소년포비 2009. 10. 22. 16:23

람다 표현식은 코드를 별도의 메서드 정의 없이 인라인으로 바로 작성할 수 있는 방법이다.

 

// 정수 하나를 입력 받아서, 그 수를 2배하는 코드 작성
using System;

public class 람다식
{
    public static void Main(string[] args)
    {
        Console.WriteLine(Plus(2)); //[1] 메서드
        PlusHandler ph = delegate(int a) { return (a + a); }; //[2] 무명메서드
        Console.WriteLine(ph(2));

        PlusHandler lambda = a => a + a; //[3] 람다식. 코드 줄어듬. (매개변수) =>실행문;
        Console.WriteLine(lambda(2));

        MinusHandler mh =
            (x, y) => x - y; // 다중 매개변수 처리시 () 사용
        Console.WriteLine(mh(3, 5)); // -2
    }
    public static int Plus(int a) // 메서드
    {
        return (a + a);
    }
    public delegate int PlusHandler(int a); // 대리자
    public delegate int MinusHandler(int a, int b);
}