cod*_*ing 4 c# lambda delegates expression-trees
下面的两个片段产生相同的输出.我理解Func如何用单个参数封装一个方法,并返回一个bool值.您可以为其分配方法,匿名方法或lambda表达式.
Func<int, bool> deleg = i => i < 5;
Console.WriteLine("deleg(4) = {0}", deleg(4));
Run Code Online (Sandbox Code Playgroud)
下面是使用我还不完全理解的表达式树.我为什么要这样做呢?它更灵活,它给我带来了什么好处?
System.Linq.Expressions.Expression<Func<int, bool>> expr = i => i < 5;
Func<int, bool> deleg2 = expr.Compile();
Console.WriteLine("deleg2(4) = {0}", deleg2(4));
Run Code Online (Sandbox Code Playgroud)
基本上,表达式树是lambda表达式的主体,允许您使用
一旦你Compile()的表达,它只是一个代表,你只能打电话,不检查或修改.
无论何时你想
该Function<>类型是不够的.
| 归档时间: |
|
| 查看次数: |
521 次 |
| 最近记录: |