🎮 Unity Study/C#
[C#] lambda식이란 ? 언제 사용할까 ?
ibelieveinme
2023. 8. 17. 00:41
728x90
lambda 식 ?
함수에 인자값으로 함수를 넣기 위해, + 더 간단하게 구현하기 위해 만든 문법.
lambad 식은 선언한 자리에서'만' 사용하기 때문에 접근지정자, 반환값, 이름이 필요없다.
재사용하지 않을 함수를 따로 구현하지 않고 바로 호출해서 한번만 사용할 때 편리하다.
위 개념을 바탕으로 아래 함수를 lambda 식으로 바꿔보자.
public void LambdaTest(){
Debug.Log("LambdaTest");
}
() => { Debug.Log("LambdaTest"); }
인자와 반환값이 있는 함수는 어떻게 바꿀까
public int Add(int a, int b){
return a + b;
}
(int a, int b) => { return a + b; }
사용예시를 살펴보자.
class Test {
private void Start() {
LambdaTest(() => {
Debug.Log("Lambda Test");
});
}
private void SayLambda() {
Debug.Log("Lambda Test");
}
private void LambdaTest(Action action) {
action();
}
}
위와 같이 LambdaTest 함수에 함수를 넣고자 할 때, LambdaTest 함수에는 Action 이란 인자를 넣고 호출 쪽에서는 람다식을 작성하면 편하다. 구지 SayLambda() 라는 Debug 함수를 작성할 필요 없다는 뜻.
728x90