gpt4 book ai didi

c# - 如何重构linq表达式树

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:25 33 4
gpt4 key购买 nike

如何检查 linq 表达式树,以便逐个语句地重建它(使用 System.Linq.Expressions.Expression 方法)?我正在使用 VS17 中的 DebugView 来可视化表达式,但阅读起来不是很友好。也许有更好的选择?

最佳答案

(免责声明:我是相关图书馆的作者。)

使用 ExpressionTreeToString图书馆,可用 NuGet ,您可以在表达式上调用 ToString 扩展方法:

// using ExpressionToString
Expression<Func<string, int, string>> expr = (s, i) => $"{s}, {i}";
Console.WriteLine(expr.ToString("Factory methods"));

并返回如下输出:

// using static System.Linq.Expressions.Expression

Lambda(
Call(
typeof(string).GetMethod("Format"),
Constant("{0}, {1}"), s,
Convert(i,
typeof(object)
)
),
var s = Parameter(
typeof(string),
"s"
),
var i = Parameter(
typeof(int),
"i"
)
)

有关 DebugView 属性使用的语法的详细信息,请参阅 DebugView syntax .

关于c# - 如何重构linq表达式树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55627088/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com