[c#] 람다식을 사용하여 어떻게 유연한 콜백 함수를 구현할 수 있나요?
람다식을 사용하면 C#에서 간편하고 유연한 콜백 함수를 구현할 수 있습니다. 콜백 함수를 사용하면 메서드의 실행이 완료되거나 특정 이벤트가 발생했을 때 다른 코드를 실행할 수 있습니다. 람다식을 사용하면 이러한 기능을 간단하게 구현할 수 있습니다.
람다식 기본 개념
람다식은 익명 함수로, 메서드나 델리게이트에 대한 매우 간결한 표현 방식입니다. 람다식은 =>
기호를 사용하여 정의되며, 입력 매개변수와 식의 본문으로 구성됩니다.
// 람다식 예시
Action<int> printNumber = (num) => Console.WriteLine(num);
콜백 함수와 함께 사용
람다식은 콜백 함수를 정의할 때 유용하게 활용됩니다. 예를 들어, 이벤트가 발생했을 때 특정 작업을 수행하도록 콜백 함수를 등록하는 경우에 람다식을 사용할 수 있습니다.
// 콜백 함수 등록 예시
public class EventPublisher
{
public event Action<int> NumberEvent;
public void DoSomething(int number)
{
// 작업 수행 후 콜백 함수 호출
NumberEvent?.Invoke(number);
}
}
// 람다식을 사용하여 콜백 함수 등록
var publisher = new EventPublisher();
publisher.NumberEvent += (num) => Console.WriteLine($"Received number: {num}");
장점
- 간결한 코드: 람다식을 사용하면 콜백 함수를 간결하게 표현할 수 있어 코드의 가독성을 높일 수 있습니다.
- 현장적응성: 코드 영역 내에서 간단하게 콜백 함수를 정의할 수 있어서 다양한 상황에서 유연하게 활용할 수 있습니다.
람다식을 통해 유연하고 간결한 콜백 함수를 구현할 수 있으며, C#에서 이를 활용하여 다양한 기능을 구현할 수 있습니다.
참고 자료
- Microsoft Docs, “Lambda expressions (C# Programming Guide)” - https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions