LINQ表達式樹是否有適當的樹,如圖,(無論指導與否,維基百科似乎不太贊同)沒有周期?什麼是來自以下C#表達式的表達式樹的根?LINQ表達式樹是否合適樹?
(string s) => s.Length
表達式樹看起來像這樣,「 - >」表示可以通過其他節點訪問的節點的屬性名稱。
->Parameters[0]
Lambda---------Parameter(string s)
\ /
\->Body /->Expression
\ /
Member(Length)
當使用ExpressionVisitor訪問LambdaExpression時,ParameterExpression被訪問兩次。有沒有一種方法可以使用ExpressionVisitor來訪問LambdaExpression,以便所有節點只訪問一次,並以特定的已知順序(預訂,按順序,後序等)訪問?
爲什麼你需要這個,你爲什麼在意? –
@DanielHilgarth我認爲這是一個關於表達式樹的基本概念如何工作的合理問題。這是一個問答網站,看起來提問者好奇表達式樹是如何工作的。 –
可能是這個問題是爲了投票,但它很有趣。 –