델리게이트
- 메서드 참조 및 호출 분리:
메서드를 직접 호출하지 않고, 델리게이트 인스턴스를 통해 메서드를 참조하고 호출할 수 있다
이를 통해 코드의 유연성과 모듈성이 증가 - 콜백 함수 구현:
이벤트 처리나 비동기 작업에서 콜백 함수를 구현할 수 있다
버튼 클릭 이벤트 처리 등에서 콜백 함수를 델리게이트로 전달하여 원하는 작업을 수행할 수 있다 - 유연한 확장성:
메서드의 구현을 바꾸지 않고도 코드의 동작을 확장하거나 변경할 수 있다. 이로써 코드 유지보수가 용이해짐 - 익명 메서드와 람다 식:
익명 메서드나 람다 식을 이용해 간결한 코드를 작성할 수 있다
간단한 작업을 빠르게 구현하거나 LINQ와 같은 기능을 사용할 때 유용 - 다중 메서드 호출:
멀티캐스트 델리게이트를 사용하면 하나의 델리게이트를 통해 여러 메서드를 호출할 수 있다
한 번의 호출로 여러 작업을 처리할 수 있다
주로 코드의 유연성, 모듕성, 익명함수 사용 등의 이유로 사용한다
델리게이트 구현
delegate int Calculate(int x, int y)
static int Add(int x, int y)
{
return x + y;
}
Calculate calc = Add;
int result = calc(3,5);
람다
- 익명 함수를 간단하게 표현하는 방법
- 익명 메서드의 축약형
- => 기호로 입력변수와 함수 본문을 구분
- 간단한 함수나 델리게이트 작성에 사용
사용법
1. 매개변수 없는 람다
//() => 표현식
() => Console.WriteLine("Hello, Lambda!");
2.매개변수가 하나인 람다
// 매개변수 => 표현식
(x) => x * x;
3. 두개 이상의 매개변수를 가진 람다
// 변수1, 매개변수2, ...) => 표현식
(x, y) => x + y;
보통 델리게이트와 함께 사용된다
리스트의 각 요소를 변환하거나 필터링하는데 람다를 사용할 수 있다
람다를 사용하면 코드가 간결해지고 의도를 명확히 표현할 수 있다
'내일배움캠프_TIL' 카테고리의 다른 글
8월 29일 TIL (0) | 2023.08.29 |
---|---|
8월 28일 TIL (0) | 2023.08.28 |
8월 24일 TIL (0) | 2023.08.24 |
8월 23일 TIL (0) | 2023.08.23 |
8월 21일 TIL (0) | 2023.08.22 |