Esempio n. 1
0
        void FOPMain2()
        {
            WriteLine("\n61.3 고차함수");
            WriteLine("고차함수란, 함수 자체를 매개변수 또는 반환값으로 가지는 함수이다.");

            // [a] Action<T> 매개변수 전달 : 문자열을 받아 출력하는 함수 정의
            FunctionParameterWithAction(action, "고차함수 : 매개변수");

            // [b] Func<T> 매개변수 전달 : 정수값을 받아 두 번 곱한 후 다시 정수값 반환
            FunctionParameterWithFunc(func, 3);

            // [c] Action<T> 반환값
            FunctionReturnValueWithAction()("고차함수 : 반환값");

            // [d] Func<T> 반환값
            int number = 3;
            int result = FunctionReturnValueWithFunc()(number);

            WriteLine($"{number} * {number} = {result}");
        }
Esempio n. 2
0
    static void Main()
    {
        //[A] Action<T> 매개 변수 전달: 문자열을 받아 출력하는 함수 정의
        Action <string> action = message => Console.WriteLine(message);

        FunctionParameterWithAction(action, "고차 함수: 매개 변수");

        //[B] Func<T> 매개 변수 전달: 정수 값을 받아 두 번 곱한 후 다시 정수 값 반환
        Func <int, int> func = x => x * x;

        FunctionParameterWithFunc(func, 3);

        //[C] Action<T> 반환값
        FunctionReturnValueWithAction()("고차 함수: 반환값");

        //[D] Func<T> 반환값
        int number = 3;
        int result = FunctionReturnValueWithFunc()(number);

        Console.WriteLine($"{number} * {number} = {result}"); // 9
    }