C# 表达式树Expression Trees的知识梳理

2019-12-30 15:44:02王旭

八、调试

8.1 参数表达式


 ParameterExpression pExpression1 = Expression.Parameter(typeof(string));
 ParameterExpression pExpression2 = Expression.Parameter(typeof(string), "msg");

C#,表达式树

图8-1

C#,表达式树

图8-2

从 DebugView 可知,如果参数没有名称,则会为其分配一个自动生成的名称。


 const int num1 = 250;
 const float num2 = 250;
 ConstantExpression cExpression1 = Expression.Constant(num1);
 ConstantExpression cExpression2 = Expression.Constant(num2);

C#,表达式树

图8-3

C#,表达式树

图8-4

从 DebugView 可知,float 比 int 多了个后缀 F。


 Expression lambda1 = Expression.Lambda<Func<int>>(Expression.Constant(250));
 Expression lambda2 = Expression.Lambda<Func<int>>(Expression.Constant(250), "CustomName", null);

C#,表达式树

图8-5

C#,表达式树

图8-6

观察 DebugView ,如果 lambda 表达式没有名称,则会为其分配一个自动生成的名称。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持ASPKU!


注:相关教程知识阅读请移步到c#教程频道。