假设我写了这个小的linqpad片段并运行它,我得到了我的期望
但是当我再次点击F5时,列表中会有两个项目:
我没想到它会这样做,也无法弄清楚为什么会这样.
除非我对代码执行某些操作,甚至添加注释,否则每次运行它时列表都会增长.然后它将重置为一个条目.
这是设计的吗?如果是这样的话?我在5.08.01
这是设计的.除非您执行以下操作之一,否则它不会重置应用程序域:
1)使用Ctrl + Shift + F5按需重置它
要么
2)进入编辑/首选项/高级并将"始终使用新鲜应用程序域"设置为True.每次运行脚本时都会重置
要么
3)将以下代码放入您的查询中(这告诉LINQPad下次运行时使用新域):
Util.NewProcess = true;
Run Code Online (Sandbox Code Playgroud)
至于为什么,可能有多种好处,但我认为表现是主要的.您可以将昂贵查询的结果放在静态变量中,并且只在第一次运行它.