gpt4 book ai didi

c# - 表达式树深度限制

转载 作者:太空狗 更新时间:2023-10-29 23:33:20 28 4
gpt4 key购买 nike

我在尝试对深度约为 400 的 Expression > 类型的 LambdaExpression 调用 Compile() 时遇到问题。较小的值不会导致任何问题。而且我找不到任何关于这种限制的信息。谁能澄清一下?我可以提高这个限制吗?

更新:抱歉,忘了说,我收到 StackOverflowException:

System.Core.dll 中出现类型为“System.StackOverflowException”的未处理异常{无法计算表达式,因为当前线程处于堆栈溢出状态。}

最佳答案

您合理地遇到了堆栈大小的限制(尽管我质疑 400 多个项目的 lambda 是否明智)。绕过它的最简单方法是创建一个新线程专门用于使用更大的堆栈执行此编译,使用将堆栈大小作为参数的线程构造函数:http://msdn.microsoft.com/en-us/library/ms149581.aspx

在该线程中调用编译并根据需要增加堆栈大小参数。我相信它以字节为单位,这将使默认值约为 1048576,因此从这里开始并根据需要提高它。

关于c# - 表达式树深度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756191/

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