class Test
{
static void Main(string[] args)
{
//c#Expression表达式树了解
Expression<Func<int>> add = () => 1 + 2;
var func = add.Compile(); // Create Delegate--将表达式树描述的 lambda 表达式编译为可执行代码,并生成表示该 lambda 表达式的委托。
var answer = func(); // Invoke Delegate
Console.WriteLine(answer);//结果3
#region 表达式树不是编译和可执行的代码,如果要执行它,需要将它转换成IL指令。
// Addition is an add expression for "1 + 2"
var one = Expression.Constant(1, typeof(int));
var two = Expression.Constant(2, typeof(int));
var addition = Expression.Add(one, two);
Console.WriteLine(addition);//结果:(1+2)
#endregion
#region Lambda--表达式创建表达式树
Expression<Action<int>> actionExpression = n => Console
c#Expression表达式树了解
最新推荐文章于 2024-05-09 05:58:49 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)