C# 람다 식 Lambda

2021. 1. 27. 15:03개발 관련 학습정리/C#

반응형

 

람다 시은 무명 메서드를 표현하는데 사용되며, => 연산자 오른쪽에 본문을 표시하여 간단히 표현할 수 있다.

람다 식을 이용하면 delegate와 무명 메서드도 간략히 표현할 수 있다.

 

 

식 람다

delegate int calculate(int a, int b);

calculate cal = (a, b) => a + b;
Console.WriteLine(cal(10, 20));

 

먼저 delegate를 통해 대리자를 선언 한 뒤, 람다식을 참조시킨다.

람다식으로 구현된 무명 메서드는 일반 메서드처럼 매개변수를 넘겨 대리자를 호출한다.

 

 

 

문 람다

delegate int calculate(int a, int b);

calculate cal2 = (a, b) => {
	int sum = a + b;
	Console.WriteLine(sum);
};

 

식 람다와 비슷하지만 => 연산자 뒤에 식이 아니라 중괄호로 둘러싼 문이 나온다.

 

 

 

Func 대리자

Func<int, int> square = (x) => x * x;
Console.WriteLine(square(3));

 

Func 대리자는 결과를 반환하는 메서드를 참조하기 위해서 만들어졌다.

가장 마지막 매개변수가 TResult로 되어있어 이 TResult가 반환된다.

square에 3을 넣으면 첫번째 매개변수로 지정한 x로 들어가 연산을 마친후 마지막 매개변수 int로 out된다.

 

 

Action 대리자

Action<string, int> act = (string str, int count) =>
{
    for (int i = 0; i < count; i++)
    {
    	Console.WriteLine(str);
    }
};

 

Action 대리자는 결과를 반환하지 않는 메서드를 참조하기 위해서 만들어졌다.

일련의 작업을 수행하는것이 목적이며 void 함수라고 생각하면 된다.

 

반응형

'개발 관련 학습정리 > C#' 카테고리의 다른 글

디자인 패턴 - Observer Pattern  (0) 2021.04.01
디자인 패턴 - 싱글톤 (Singleton)  (0) 2021.04.01
C# Generic  (0) 2021.01.27
C# 추상클래스와 인터페이스  (0) 2021.01.26
C# Delegate  (0) 2021.01.25