[C# 문법] C# Func 대리자 사용방법
- C#/C# 문법
- 2020. 6. 19. 00:00
안녕하세요.
오늘은 어제 포스팅 했던 Action 대리자 다음 포스팅으로써, Func 대리자 사용 방법에 대해서 알려 드리려고 합니다.
Func 대리자는 Action 대리자와 달리 파라미터 값이 있고, 반환값이 있는데요.
[Func 대리자 형태]
Func<out TResult>
Func<in T1, out TResult>
Func<in T1,in T2, out TResult>
Func<in T1,in T2,...in T16, out TResult>
Func 대리자의 형태는 위와 같습니다. Action 대리자와는 다르게 입력값과 반환값이 있는 것을 보셨나요?
제일 오른쪽 끝이 반환값의 타입이고 그 외 파라미터들은 입력 파라미터(매개변수)의 타입들입니다.
그럼 위 형태를 이용해서 Func 대리자 예제 프로그램을 작성해 보도록 하겠습니다.
예제 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace Test0202 { class Program { static void Main(string[] args) { //Func 대리자 사용법 총 3가지
//1. 기존 메서드 지정 Func<string, string> _func1 = Print; Console.WriteLine(_func1("1. 기존 메서드 지정"));
Func<int, int, int> _func2 = Sum; string msg = string.Format("x + y = {0} 입니다.", _func2(4, 8)); Console.WriteLine(msg);
//2. 무명 메서드 지정 Func<int, int, int> _func3 = delegate (int x, int y) { return x + y; }; string msg2 = string.Format("x + y = {0}", _func3(5, 10)); Console.WriteLine(msg2);
//3. 람다식 사용 Func<int, string> _func4 = x => { return "반환값은 : " + x + " 입니다."; }; Console.WriteLine(_func4(100)); }
public static string Print(string msg) { return msg; }
public static int Sum(int x, int y) { return x + y; } } }
|
실행 결과
이로써 Func 대리자 사용 방법에 대해서 알아 보았습니다.
감사합니다.^^
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# Linq 내에서 변수 지정하기 (let 키워드) (0) | 2020.06.24 |
---|---|
[C# 문법] DataTable 컬럼 이름 정보 얻어오기 (0) | 2020.06.23 |
[C# 문법] C# Action 대리자 사용방법 (0) | 2020.06.18 |
[C# 문법] C# Enum(열거형) List로 변환하기(Convert) (0) | 2020.06.13 |
[C# 문법] C# DateTime(날짜) For문 반복문으로 돌리는 방법 (0) | 2020.06.10 |
이 글을 공유하기