더북(TheBook)

Func 대리자를 사용하여 람다 식 만들기

이번에는 Func<T, T> 대리자를 사용하여 람다 식을 만드는 방법을 살펴보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

> //① 매개변수가 int고 반환값이 int인 람다 식
> Func<int, int> square = x => x * x;
> square(3)
9

다음 코드는 동일한 내용을 무명 메서드와 람다 식을 사용하여 표현한 것입니다. 결론적으로 말해 무명 메서드는 사용할 일이 없기에 대신 람다 식을 사용합니다.

> //② 무명 메서드와 람다 식 비교
> Func<int> getNumber1 = delegate () { return 1234; };
> getNumber1()
1234
> Func<int> getNumber2 = () => 1234;
> getNumber2()
1234
> Func<int, int> addOne1 = delegate (int x) { return x + 1; };
> addOne1(10)
11
> Func<int, int> addOne2 = x => x + 1;
> addOne2(10)
11
> Func<string, string, string> plus1 = delegate (string a, string b) { return $"{a} {b}"; };
> plus1("Hello", "World")
"Hello World"
> Func<string, string, string> plus2 = (a, b) => $"{a} {b}";
> plus2("Hello", "World")
"Hello World"
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.