那要看.文字字符串被拘禁每默认,所以即使你的应用程序不再引用它,它不会被收集,因为它是由内部实习结构引用.其他字符串就像任何其他托管对象一样.一旦它们不再被您的应用程序引用,它们就有资格进行垃圾回收.
更多关于这个问题的实习:Java和.NET字符串文字在哪里?
小智 5
对于像这样的情况,我为字符串类编写了一个小扩展方法,它可能是确保字符串本身在收集之前不可读的唯一可靠方法.显然只适用于动态生成的字符串,而不是文字.
public unsafe static void Clear(this string s)
{
fixed(char* ptr = s)
{
for(int i = 0; i < s.Length; i++)
{
ptr[i] = '\0';
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23451 次 |
| 最近记录: |