Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 액션(Action) 델리게이트 완벽 가이드: 반환값 없는 메서드를 위한 델리게이트

C# 액션(Action) 델리게이트란?

C#의 액션(Action) 델리게이트는 값을 반환하지 않는 메서드, 즉 void 반환 타입을 가진 메서드를 참조할 때 사용하는 범용 델리게이트입니다. 별도의 커스텀 델리게이트를 선언할 필요 없이 제네릭 매개변수만 지정하면 바로 사용할 수 있어 코드가 간결해집니다.

액션 델리게이트는 최대 16개까지 입력 매개변수를 받을 수 있으며, 항상 void를 반환한다는 점이 특징입니다. 만약 반환값이 필요하다면 Func 델리게이트를 사용하는 것이 적합합니다.

액션 델리게이트 선언 방법

액션 델리게이트는 다음과 같이 간단하게 선언할 수 있습니다.

Action<int> del = Display;

위 코드에서 Action<int>는 int 타입의 매개변수 하나를 받고 아무것도 반환하지 않는 메서드를 참조합니다. 여기서 참조되는 메서드는 다음과 같습니다.

public static void Display(int val) {
    Console.WriteLine(val);
}

전체 예제 코드

이제 델리게이트를 통해 메서드를 호출하고 값을 전달해 보겠습니다.

using System;
public class Demo {
    public static void Main() {
        Action<int> del = Display;
        del(2);
    }

    public static void Display(int val) {
        Console.WriteLine(val);
    }
}

실행 결과

2

액션 델리게이트 활용 팁

  • 매개변수가 없는 경우: Action처럼 제네릭 인자 없이 선언하면 매개변수가 없는 메서드를 참조할 수 있습니다.
  • 여러 매개변수 사용: Action<string, int>와 같이 쉼표로 구분하여 최대 16개의 매개변수를 지정할 수 있습니다.
  • 람다 식과 함께 사용: Action<int> del = x => Console.WriteLine(x);처럼 람다 식을 직접 할당하면 더욱 간결한 코드를 작성할 수 있습니다.

액션 델리게이트는 이벤트 처리, 콜백 메서드 전달, LINQ 확장 등 다양한 상황에서 유용하게 활용되므로 C# 개발에서 꼭 익혀두어야 할 개념입니다.