C#分配内存并分配其他变量

木户

这是一个非常基本的问题,但我认为最好问一下。让我们假设我有以下代码片段。

List<String> mystringlist1 = new List<String>();

List<String> mystringlist2 = new List<String>();
mystringlist2.Add("hello1");
mystringlist2.Add("hello2");
mystringlist2.Add("hello3");

//Now I assign the second list to first list
mystringlist1 = mystringlist2;

现在,这两个列表将指向相同的内存位置,并且尝试访问各个元素将导致上述列表中的元素相同。

如果是这样,

  • 对mystringlist1进行的无人认领/未使用的分配会发生什么情况?
  • 会自动将其垃圾收集还是会导致内存泄漏?
  • 这样做不好吗?
布拉德利网
  1. 会被垃圾收集
  2. 是的,它是自动的
  3. 是的,分配从未使用过的东西是不好的做法。如果您打算将其用于某些用途,请分配并重新分配。不过,没有理由随机实例化内容。

请注意,它将在垃圾收集器的下一个通道中进行收集以进行生成。由于时间不长,因此应该仍在Gen0中,并且要尽快收集。并非所有变量都是如此,因此,当真正没有变量时,可能出现内存泄漏。

另一个例外是使用非托管内存(例如Bitmap)的任何东西,这些内存需要在使用后进行处置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#中未分配变量的内存

来自分类Dev

可空变量在内存分配C#中的优势

来自分类Dev

可空变量在内存分配C#中的优势

来自分类Dev

从其他文件读取Bash变量分配

来自分类Dev

C#未分配的变量?

来自分类Dev

c返回变量和可用的内存分配

来自分类Dev

C ++中变量的堆栈内存分配

来自分类Dev

在其他功能使用共享指针与内存分配

来自分类Dev

C#对象比较和内存分配

来自分类Dev

C#对象比较和内存分配

来自分类Dev

谁负责C#内存分配?

来自分类Dev

Python更新其他变量而不是分配的参考变量

来自分类Dev

Python更新其他变量而不是分配的参考变量

来自分类Dev

根据R中的其他变量分配变量值

来自分类Dev

C ++内存管理在局部变量上的内存分配

来自分类Dev

低内存使用量+频繁分配/重新分配导致Linux换出其他程序

来自分类Dev

分配给null的变量与未分配的其他变量有什么区别

来自分类Dev

当分配了其他变量时,DateTime对象被更改

来自分类Dev

使用循环或其他一些方法分配变量

来自分类Dev

c#将焦点从其他应用程序重新分配给父表单

来自分类Dev

C ++“新”内存分配

来自分类Dev

内存分配-Java与C ++

来自分类Dev

C:内存分配问题

来自分类Dev

C内存分配(malloc)

来自分类Dev

最佳内存分配C ++

来自分类Dev

Java与C ++内存分配

来自分类Dev

分配内存(C)

来自分类Dev

C#成语检查/分配变量

来自分类Dev

C#为变量分配新值