[c#] 람다식을 사용하여 어떻게 함수를 반환할 수 있나요?
using System;

namespace LambdaExpressionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<int, int, int> addFunction = (a, b) => a + b;
            Func<int, int, int> multiplyFunction = (a, b) => a * b;

            Func<int, int, int> ChooseFunction(string operation)
            {
                return operation switch
                {
                    "add" => addFunction,
                    "multiply" => multiplyFunction,
                    _ => throw new ArgumentException("Invalid operation"),
                };
            }

            var selectedFunction = ChooseFunction("add");
            Console.WriteLine(selectedFunction(3, 4)); // Output: 7
        }
    }
}

위의 예제는 ChooseFunction이라는 메서드를 사용하여 전달된 문자열에 따라 람다식을 반환합니다. add인 경우 addFunction을 반환하고, multiply인 경우 multiplyFunction을 반환합니다. 이를 통해 람다식을 사용하여 함수를 반환할 수 있습니다.