字符串文字和GC?

时间:2017-01-20 08:07:51

标签: c# memory-management garbage-collection

假设你有一个字符串变量。

var t = "this is a test"

我们将另一个字符串重新分配给此变量

t = "this is another test"

第一次作业的数据到底发生了什么? 框架如何处理与GC有关的问题?

1 个答案:

答案 0 :(得分:2)

字符串文字存储在字符串实习池中,并遵循与CG定期收集的任何其他对象不同的管理过程。

然后,实际上,字符串实习池将如何管理“这是一个测试”文字。

最有可能的是它不会被清除并保留在文字池中。但是有关String文字池如何在下面工作的更多参考。

https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx

http://dailydotnettips.com/2012/02/12/the-string-intern-pool/

In C#, should I use string.Empty or String.Empty or "" to intitialize a string?