c# - 如果我 'overwrite' 一个 List 和一个 'new' List,旧的被删除了吗?

标签 c# list

我想在 C# 中重新初始化一个列表 - 本质上是删除它并再次填充它。

如果我通过使用 new 关键字分配给它来再次初始化列表,旧的是否仍然在某处徘徊或者我是否成功覆盖了它?

最佳答案

If I initialise the list again by assigning to it using the new keyword, is the old one still hanging around somewhere or have I successfully overwritten it?

在垃圾收集器出现之前,旧的会停留一段时间。
当然,前提是您没有在其他任何地方存储对 List 的引用。

只能覆盖指向List的引用变量,不能覆盖List本身。

更重要的是:一般来说,这是正确的做法。只需在需要时创建一个新对象/列表,不用担心(麻烦)旧状态等。

关于c# - 如果我 'overwrite' 一个 List 和一个 'new' List,旧的被删除了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25303032/

相关文章:

python - 从列表中提取值,格式类似于 Python 中的 JSON 文件

c# - 单元测试 IdentityContext

c# - GZIP解压C# OutOfMemory

c# - 如何在谷歌日历中创建 "recurData"?

c# - 如何将文本 block 与属性绑定(bind)

python - 列表索引语义错误

python - 追加到维度未知的嵌套列表

c# - 有没有一种优雅的方法来执行与嵌套 Task.WhenAlls 等效的操作?

java - 如何在DynamoDB中获取大数据?

python - 将元素添加到列表时运行代码