中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LINQ Expression tree是什么

發布時間:2021-12-02 09:25:29 來源:億速云 閱讀:144 作者:小新 欄目:編程語言

這篇文章主要介紹LINQ Expression tree是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

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是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵武市| 吉隆县| 临颍县| 清流县| 旌德县| 柏乡县| 那曲县| 文成县| 乐都县| 辽源市| 博湖县| 同江市| 江城| 商城县| 义马市| 尼勒克县| 固原市| 望都县| 永定县| 隆昌县| 天气| 报价| 阳朔县| 临湘市| 福鼎市| 河北省| 仲巴县| 临朐县| 双峰县| 蚌埠市| 凉山| 重庆市| 宁乡县| 长宁区| 哈巴河县| 禄丰县| 佳木斯市| 莫力| 淮安市| 巫山县| 武威市|