gpt4 book ai didi

除非代码更改,否则 Linqpad 不会在运行之间重置静态变量

转载 作者:行者123 更新时间:2023-12-01 09:17:46 25 4
gpt4 key购买 nike

假设我写了这个小 linqpad 片段并运行它,我得到了我的期望

enter image description here

但是当我再次按 F5 时,列表中将包含两个项目:

enter image description here

我没想到它会这样做,也不知道为什么会这样。

除非我对代码做一些事情,甚至添加注释,否则每次运行它时列表都会增加。然后它将重置为一个条目。

这是故意的吗?如果是为什么?
我在 5.08.01

最佳答案

这是设计使然。除非您执行以下操作之一,否则它不会重置应用程序域:

1) 使用 Ctrl+Shift+F5 按需重置

或者

2)进入编辑/首选项/高级并将“每次执行始终使用新进程”设置为True。每次运行脚本时都会重置

或者

3) 将以下代码放入您的查询中(这会告诉 LINQPad 下次运行时使用新域):

Util.NewProcess = true;

至于为什么,可能有多种好处,但我认为性能是主要的。您可以将昂贵查询的结果放在静态变量中,并且仅在第一次运行时才运行。

关于除非代码更改,否则 Linqpad 不会在运行之间重置静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759657/

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