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"