网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

LINQExpressiontree是什么

这篇文章主要介绍LINQ Expression tree是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们提供的服务有:网站制作、网站设计、微信公众号开发、网站优化、网站认证、古丈ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的古丈网站制作公司

LINQ Expression tree

一棵LINQ Expession tree在创建后就不可再改变。假如某个程序接收一棵Expression tree为参数,然后仅仅是用于生成别的形式的代码(例如SQL语句),那么这个不可改变性不会有什么影响。但如果一个程序想对一棵Expression tree进行修改该怎么办呢?解决方法是从来源的Expression tree复制出一棵新的树,在复制过程中根据自己的需要选择是直接复制原有节点还是创建修改了的节点。MSDN上有一个例子解释了如何实现这种需求,如何:修改表达式目录树。

更详细的LINQ Expression tree的讨论留待以后再说。先看代码:

digraph ExpressionTree {   node [fontsize=12, fontcolor=blue, font=Courier, shape=box]   // node declarations  lambda [label="Lambda Expression"]   anoFuncSig [label="Anonymous Function\nSignature"]  arrow [label="=>"]  anoFuncBody [label="Anonymous Function\nBody"]   impFuncSig [label="Implicit Anonymous\nFunction Signature"]  expr [label="Expression"]   impParam [label="Implicit Anonymous\nFunction Parameter"]  uexpr1 [label="Unary Expression"]   neg [label="-"]  uexpr2 [label="Unary Expression"]   id [label="Identifier:\nx"]   simpName [label="Simple Name:\nx"]   // relations   lambda -> anoFuncSig  lambda -> arrow  lambda -> anoFuncBody   {rank=same; anoFuncSig arrow anoFuncBody }   anoFuncSig -> impFuncSig  anoFuncBody -> expr   {rank=same; impFuncSig expr }   impFuncSig -> impParam  expr -> uexpr1 [style=dashed]   {rank=same; impParam uexpr1 }   impParam -> id  uexpr1 -> neg  uexpr1 -> uexpr2   {rank=same; id neg uexpr2 }   uexpr2 -> simpName  }

ast.dot: 

digraph ExpressionTree {   node [fontsize=12, fontcolor=blue, font=Courier, shape=box]  edge [fontsize=10, fontcolor=purple]  // node declarations  lambda [label="Lambda Expression"]   param [label="Parameter:\nx"]  body [label="Unary Expression\n(Negation)"]   param2 [label="Simple Name:\nx"]   // relations   lambda -> param [label="Signature"]  lambda -> body [label="Body"]   {rank=same; param body }   body -> param2  param -> param2 [label="(same node)", fontsize=8, style=dashed, dir=both]  }

以上是“LINQ Expression tree是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享文章:LINQExpressiontree是什么
链接地址:http://bjjierui.cn/article/ppgeji.html

其他资讯