如何清除linqpad中的所有嵌入字符串?
看这个例子:
//var asd="asd";
string s = new string(new []{'a','s','d'});
Console.WriteLine (string.IsInterned(s));
它总是返回null,这很好.
但是,一旦我取消注释第一行,即使我再次对其进行注释,它也始终会产生“ asd”.
似乎唯一的解决方案是关闭程序并重新启动.
ps. :在Visual Studio中,它总是返回所需的结果(控制台模式).
解决方法:
LINQPad在运行之间维护AppDomain,因此所有静态内容都将保留在内存中.您可以通过转到编辑>更改此行为.偏好设置>进阶>始终使用新的应用程序域.
尽管上面的说法是正确的,但似乎在过程级执行了字符串实习(请参见here).因此,除了重新启动之外,没有其他方法可以重置它.