Các cây biểu hiện LINQ có đúng các cây thích hợp không, như trong đồ thị (hướng hoặc không, wikipedia dường như không đồng ý) mà không có chu kỳ? Gốc của cây biểu thức từ biểu thức C# sau đây là gì?Cây LINQ có phải là cây thích hợp không?
cây(string s) => s.Length
Biểu thức trông như thế này, với "->" biểu thị tên của thuộc tính của nút nút khác có thể truy cập thông qua.
->Parameters[0]
Lambda---------Parameter(string s)
\ /
\->Body /->Expression
\ /
Member(Length)
Khi sử dụng ExpressionVisitor để truy cập LambdaExpression, ParameterExpression được truy cập hai lần. Có cách nào để sử dụng ExpressionVisitor để truy cập LambdaExpression sao cho tất cả các nút được truy cập chính xác một lần và theo thứ tự cụ thể, nổi tiếng (đặt hàng trước, theo thứ tự, đặt hàng, v.v.)?
Tại sao bạn cần điều này, tại sao bạn quan tâm? –
@DanielHilgarth Tôi nghĩ đây là một câu hỏi hợp pháp về cách các khái niệm cơ bản của cây biểu hiện hoạt động. Đây là một trang hỏi đáp và có vẻ như người hỏi đang tò mò về cách cây biểu hiện đang hoạt động. –
Có thể là câu hỏi này là để bỏ phiếu nhưng nó thú vị. –