본문 바로가기

내일배움캠프_TIL

8월 25일 TIL

델리게이트

  • 메서드 참조 및 호출 분리:
    메서드를 직접 호출하지 않고, 델리게이트 인스턴스를 통해 메서드를 참조하고 호출할 수 있다
    이를 통해 코드의 유연성과 모듈성이 증가
  • 콜백 함수 구현:
    이벤트 처리나 비동기 작업에서 콜백 함수를 구현할 수 있다
    버튼 클릭 이벤트 처리 등에서 콜백 함수를 델리게이트로 전달하여 원하는 작업을 수행할 수 있다
  • 유연한 확장성:
    메서드의 구현을 바꾸지 않고도 코드의 동작을 확장하거나 변경할 수 있다. 이로써 코드 유지보수가 용이해짐
  • 익명 메서드와 람다 식:
    익명 메서드나 람다 식을 이용해 간결한 코드를 작성할 수 있다
    간단한 작업을 빠르게 구현하거나 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