using System;
using System.Linq.Expressions;
class Program
{
static void Main()
{
// 创建一个表达式树,表示 x + 5
ParameterExpression parameter = Expression.Parameter(typeof(int), "x");
ConstantExpression constant = Expression.Constant(5, typeof(int));
BinaryExpression addition = Expression.Add(parameter, constant);
// 创建一个 lambda 表达式,表示 (int x) => x + 5
Expression<Func<int, int>> lambda = Expression.Lambda<Func<int, int>>(addition, parameter);
// 编译并调用 lambda 表达式
Func<int, int> compiledLambda = lambda.Compile();
int result = compiledLambda(10); // 结果应该是 15
Console.WriteLine($"结果是: {result}");
}
}
x
,类型为 int
。5
,类型为 int
。x + 5
。(int x) => x + 5
。Func<int, int>
。10
,得到结果 15
。这段代码展示了如何使用 C# 的表达式树来构建和执行一个简单的数学表达式。
下一篇:c#字符串转日期
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站