2013년 9월 9일 월요일

닷넷교육,강좌,C#4.0 델리게이트 Action Delegate, C#강좌

닷넷교육,강좌,C#4.0 델리게이트 Action Delegate, C#강좌

C# 델리게이트 Action Delegate
 
Action 델리게이트는 Func 델리게이트와 거의 유사하다. 차이점이라면 반환 형식이 없다는 것이다. 이 Action 델리리게이트 역시 닷넷4.0 프레임워크에는 대략 17가지 준비되어 있다.
 
public delegate TResult Action< >()
public delegate TResult Func<in T >(T arg)
public delegate TResult Func<int T1, in T2>(T1 arg, T2 arg)
public delegate TResult Func<int T1, in T2, in T3 >(T1 arg, T2 arg, T3 arg)
……
……
public delegate TResult Func<in T1,,,in T16>(T1 arg, T2 arg, T3 arg,,, T16 arg)
Func 델리게이트와는 반환값이 없는 것이 특징이며 형식 매개변수는 모두 입력 매개변수 이다.
 
[사용 예문]
 
입력 매개 변수가 없는 경우…
 
Action action1 = () => Console.WriteLine(“No Parameter Action Delegate”);
action1();
 
입력 매개 변수가 두개인 경우…
 
int sum=0;
 
//입력 매개변수는 둘, 더한 결과를 밖에서 선언한 sum에 저장
Action<int, int> action2 = (x, y) => sum=x*y;
action2(1,2);
Console.WriteLine(“1+2={0}”, sum);      //9 리턴
 

[예제]
 
using System;
namespace Lambda
{
    class Program
    {
        delegate int Sum(int[] arg);
        static void Main(string[] args)
        {
            Action action1 = () => Console.WriteLine("No Parameter Action Delegate");
            action1();
            int ret = 0;
            Action<int> action2 = (x) => ret = x * x;
            action2(3);
            Console.WriteLine("action2(3), 3*3={0}", ret);
            Action<double, double> action3 = (x, y) =>
            {
                double d = x / y;
                Console.WriteLine("Action<t1, t2>({0},{1}) : {2}", x, y, d);
            };
            action3(8, 4);
        }
    }
}
 

[결과]
No Parameter Action Delegate
action2(3), 3*3=9
Action<t1, t2>(8,4) : 2

오라클자바커뮤니티 실전 강좌 - 개인80% 환급


C#4.0, ADO.NET, Network 프로그래밍 4일 32시간   09-24
C#,ASP.NET마스터 8일 56시간   09-25
ASP.NET4.0 MVC 프로그래밍 4일 32시간   09-30
C#,ASP.NET마스터 18일 54시간   09-25
ASP.NET4.0 MVC 프로그래밍 11일 33시간   09-26
C#4.0, ADO.NET, Network 프로그래밍 11일 33시간   09-30
C#,ASP.NET마스터 8일 56시간   09-14
C#4.0, ADO.NET, Network 프로그래밍 4일 32시간   09-28
ASP.NET4.0 MVC 프로그래밍 4일 32시간   09-28 

댓글 없음:

댓글 쓰기