using System;
using System.Linq.Expressions;
namespace ExpressionTreeViaLambda
{
class Program
{
static void Main(string[] args)
{
Expression<Func<int, int, int>> expression = (a, b) => 1 * 2 + (a - b);
Func<int, int, int> func = expression.Compile();
//x = 10, y = 8;
Console.WriteLine($"1*2+({10}-{8}) = {func(10, 8)}");
}
}
}
식 트리는 코드를 "데이터"로써 보관이 가능합니다. 파일에 저장할수도 있고, 네트워크를 통해 다른 프로세스를 통과시킬수도 있습니다. 혹은 데이터베이스 서버에 보내 실행시킬수도 있습니다. 식 트리는 LINQ에서 사용되게됩니다. 그 전에 이해해야하는게 람다식과 식 트리입니다.