더북(TheBook)

30.3 화살표 연산자와 람다 식으로 조건 처리

LINQ에서 제공하는 확장 메서드들은 매개변수로 람다 식(lambda expression)을 받는데, 람다 식은 화살표 연산자 또는 람다 연산자라고 하는 화살표 모양의 => 기호를 사용합니다.

 

람다 식

람다 식은 다른 말로 화살표 함수(arrow function)라고도 합니다. 화살표 연산자 또는 람다 연산자(lambda operator)로 표현되는 => 연산자는 일반적으로 영어로는 ‘goes to’ 또는 ‘arrow’로 발음합니다. 우리말로 번역하면 ‘이동’이라는 의미입니다.

람다 식은 다음과 같이 두 가지 형태로 표현합니다. 이 두 가지 형태를 구분해서 식 람다(expression lambda)와 문 람다(statement lambda)로 표현하기도 합니다.

▼ 표 30-1 식 람다와 문 람다

종류

형태

식 람다

(입력 매개변수) => 식

x => x + 1

문 람다

(입력 매개변수) => { 문; }

x => { return x + 1; }

 

예를 들어 x => x * x 형태의 람다 식은 ‘x는 x 곱하기 x로 이동’으로 읽을 수 있습니다.

람다 식을 만드는 것은 뒤에서 자세히 배우지만, 우선 미리보기로 다음 코드를 간단히 살펴보고 넘어가겠습니다. Func<T> 또는 Action<T>를 사용하여 새롭게 만든 isEven()greet() 함수로 짝수를 판별하거나 이름을 출력하는 메서드를 만들어 보았습니다.

> //식 람다 미리보기 코드
> Func<int, bool> isEven = x => x % 2 == 0;
> isEven(2)
true
> isEven(3)
false
> //문 람다 미리보기 코드
> Action<string> greet = name => { var message = $"Hello {name}"; Console.WriteLine(message); };
> greet("You")
Hello You
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.