【发布时间】:2019-04-11 07:37:35
【问题描述】:
如何检查 linq 表达式树,以便可以逐个语句地重建它(使用 System.Linq.Expressions.Expression 方法)?我正在使用 VS17 中的 DebugView 来可视化表达式,但阅读起来不是很友好。也许有更好的选择?
【问题讨论】:
-
你可以使用 linqpad。
-
VS 环境中的选项呢?我想在当前代码上应用这个可视化器,转移到 linqpad 似乎相当复杂
-
如果它足够复杂以至于 DebugView 难以阅读,我怀疑任何其他方法都会产生更复杂的东西!当您习惯它时,DebugView 非常清晰。我建议阅读docs.microsoft.com/en-us/dotnet/api/…,将您认为需要的不同类型的东西放在一起,并习惯它们在 DebugView 中的显示方式。
-
@canton7 如果它足够复杂以至于 DebugView 难以阅读,我怀疑任何其他方法都会产生更复杂的东西! I beg to differ.
-
@ZevSpitz 我认为关于别人问题的评论部分是讨论这个问题的错误地方。我不想要一个我可以折叠的不可读的树 - 我希望能够以一种我可以直观地理解整体结构的方式读取表达式树,而 DebugView 就是这样做的。如果您不同意,我建议在该页面上放置并排示例 - 例如
foreach循环,或其他包含多个块、跳转等的东西,占用多行。
标签: c# linq lambda expression expression-trees