星空网 > 软件开发 > ASP.net

LINQ的Expression与delegate表达式

Linq的delegate表达式,Insus.NET觉得它封装得好,让开发时简化了很多代码,而且容易阅读与检索。

比如,我们需要计算优惠给客户金额,打85%折,可以这样写:
LINQ的Expression与delegate表达式

 

LINQ的Expression与delegate表达式LINQ的Expression与delegate表达式
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Linq.Expressions;namespace Insus.NET.Utilities{  public class Class2  {    public decimal Preferential(decimal amount)    {      return amount * (1 - 0.85m); //amount - amount * 0.85m;    }  }}

Source Code

 

应用方法:
LINQ的Expression与delegate表达式

 

下面我们使用delegate委托来实现:
LINQ的Expression与delegate表达式

运行结果:
LINQ的Expression与delegate表达式

 

 

接下来,Insus.NET还想使用一个表达式树的类型Expression<TDelegate>实现:
LINQ的Expression与delegate表达式

LINQ的Expression与delegate表达式LINQ的Expression与delegate表达式
using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Linq.Expressions;namespace Insus.NET.Utilities{  public delegate decimal pref(decimal amount);  public class Class2  {    //public decimal Preferential(decimal amount)    //{    //  return amount * (1 - 0.85m); //amount - amount * 0.85m;    //}    // public pref Preferential11 = a => (a * (1 - 0.85m));    static Expression<pref> expr = amount => (amount - amount * 0.85m);    public pref Preferential2 = expr.Compile();  }}

Source Code

 

方法引用运行结果:
LINQ的Expression与delegate表达式

 




原标题:LINQ的Expression与delegate表达式

关键词:linq

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

昆明泰国物流:https://www.goluckyvip.com/tag/88725.html
泰国快递物流:https://www.goluckyvip.com/tag/88726.html
泰国物流快递:https://www.goluckyvip.com/tag/88727.html
广州 泰国 物流:https://www.goluckyvip.com/tag/88728.html
广州 物流 泰国:https://www.goluckyvip.com/tag/88729.html
菜鸟国际:https://www.goluckyvip.com/tag/8873.html
37号文今后是否会更新?一文详解关键信息 :https://www.kjdsnews.com/a/1836441.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流