在C#中连接后在内存中的字符串对象

问题描述

我在C#中了解到,当我连接2个字符串创建一个新对象时,该字符串是不可变的。 内存中的先前对象会发生什么? 创建新对象后,GC是否会立即删除旧对象?

解决方法

当您修改字符串的值时,即您正在创建一个新对象,该对象引用该修改过的字符串,而旧对象变为未引用。 因此,如果我们不断修改现有字符串,则未引用对象的数量将增加,并且它将等待垃圾回收器释放未引用对象。 运行垃圾收集器时,它将回收未引用对象占用的所有未使用内存。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...