Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清除Linqpad中的所有实习字符串?_C#_.net_Linqpad - Fatal编程技术网

C# 清除Linqpad中的所有实习字符串?

C# 清除Linqpad中的所有实习字符串?,c#,.net,linqpad,C#,.net,Linqpad,如何清除linqpad中的所有实习字符串 看看这个例子: //var asd="asd"; string s = new string(new []{'a','s','d'}); Console.WriteLine (string.IsInterned(s)); 它总是返回null,这很好 但是,一旦我取消注释第一行,即使我再次注释它,它也会产生“asd” 看来唯一的解决办法是关闭程序,然后重新启动 p、 美国:在visual studio中,它总是返回所需的结果(控制台模式)。LINQPa

如何清除linqpad中的所有实习字符串

看看这个例子:

//var asd="asd";
string s = new string(new  []{'a','s','d'});
Console.WriteLine (string.IsInterned(s));
它总是返回
null
,这很好

但是,一旦我取消注释第一行,即使我再次注释它,它也会产生
“asd”

看来唯一的解决办法是关闭程序,然后重新启动

p、 美国:在visual studio中,它总是返回所需的结果(控制台模式)。

LINQPad在运行之间维护AppDomain,因此所有静态内容都将保留在内存中。您可以通过转到编辑>首选项>高级>始终使用新的应用程序域来更改此行为


虽然上面的说法是正确的,但似乎字符串内部处理是在流程级别执行的(请参阅)。因此,除了重新启动之外,没有办法重置它。

这个So线程可能会为您在清除它时遇到问题提供一些原因:为了在控制台应用程序中获得所需的结果,您不需要取消注释该行并重新生成吗?这与卸载和重新加载LINQPad相同。否?“取消所有线程并重置”(Shift+Ctrl+F5)是清除AppDomain的另一种方法。但正如Eli所说,实习是在过程层面进行的,所以在这种情况下不会产生任何影响。