C#에서 Action, Predicate, Func의 이해와 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- C# 개발자 및 LINQ, 이벤트, 함수형 프로그래밍 패턴을 활용하는 프로그래머*
- 중급 이상의 실무 경험이 있는 개발자에게 유용*
핵심 요약
Action
:void
를 반환하는 메서드를 대표하며, 0~16개의 파라미터를 받을 수 있음Predicate
:bool
을 반환하는 메서드로, 단일 입력(T
)을 기반으로 조건 판단에 사용됨Func
: 값을 반환하는 메서드로, 최종 타입 파라미터(TResult
)가 반환 타입을 정의함- LINQ, 이벤트 처리, 함수형 프로그래밍에서 고객화된 대리자로 사용하여 코드 재사용성 향상 가능
섹션별 세부 요약
1. Action
void
를 반환하는 메서드를 대표하는 대리자- 0~16개의 입력 파라미터를 지원
- 상태 변경이나 작업 수행에 적합 (예: 이벤트 핸들러)
2. Predicate
bool
을 반환하는 메서드를 대표- 단일 입력(
T
)을 기반으로 조건 검사 (예:List
,.Find Where
LINQ 연산자) - 필터링, 검증, 상태 판단에 주로 사용
3. Func
- 특정 값을 반환하는 메서드를 대표
- 0~16개의 입력 파라미터와 마지막 파라미터가 반환 타입
- 변환, 계산, 생성 등에서 활용 (예:
Select
LINQ 연산자)
4. 실무 활용 팁
- 자주 사용되는 LINQ 연산자(
Where
,Select
,OrderBy
)에서Func
/Predicate
사용 - 고객화 대리자로 사용하여 코드 중복 최소화
- 람다 표현식과 결합하여 간결한 구문 작성 (예:
Func
)square = x => x * x
결론
Action
,Predicate
,Func
는 C#에서 함수형 프로그래밍 패턴과 LINQ 연산에서 핵심 역할을 수행하며, 코드의 모듈성과 재사용성을 높이는 데 기여함- 람다 표현식과 결합하여 간결하고 유연한 코드 구조를 설계할 수 있음