C# 3.0부터 지원하는 => 연산자는 람다식을 표현
람다식은 무명 함수를 표현하는데 사용
입력 파라미터 0~N개를 => 연산자 왼쪽에, 실행 문장을 오른쪽에 둔다
(입력 파라미터) => {실행 문장};
입력 파라미터는 0개부터 N개까지 받을 수 있다
// 입력 파라미터 0개
() => Write("No");
// 입력 파라미터 1~2개
(p) => Write(p);
(s, e) => { Write(s); Write(e); }
// 입력 파라미터 타입 명시
(string s, int i) => Write(s, i);
람다식을 이용하면 delegate와 무명 메서드를 더 간략히 표현할 수 있다
private void button1_Click(object sender, EventArgs e)
{
((Button)sender).BackColor = Color.Red;
}
// 1: EventHandler에 메서드 전달
this.button1.Click += new System.EventHandler(button1_Click);
// 2: 메서드 명만 기재
this.button1.Click += button1_Click;
// 3: delegate 무명 메서드
this.button1.Click += delegate(object sender, EventArgs e)
{
((Button)sender).BackColor = Color.Red;
};
// 4: 람다식
this.button1.Click += (sender, e) => ((Button)sender).BackColor = Color.Red;