当前位置: 代码迷 >> Windows Mobile >> c# 中资源释放有关问题
  详细解决方案

c# 中资源释放有关问题

热度:238   发布时间:2016-04-25 08:03:33.0
c# 中资源释放问题
在c#中的一个函数中创建一个局部变量,例如:
  private void button1_Click(object sender, EventArgs e)
  {
  Form1 form = new Form1();
  form.ShowDialog();
  form.Close();
  }
当这个函数的执行完之后,form对象是否被释放了呢?
如果不释放,那么我每调用一次这个函数,不是要增加一个这个变量的对象吗?
请问这种问题怎么解决呢?

------解决方案--------------------
再调DISPOSE。
------解决方案--------------------
.Net平台的垃圾回收机制会自动处理,楼主不用担心.
在对性能和内存使用特别严格的情况下,可以使用楼上的方法调用Dispose释放,不过一般情况下不需要.
------解决方案--------------------
.Net Compact Framework 有自身的一套垃圾回收机制, 一般来说不用担心这个问题。 不过, 也可以强制释放一下,用GC.Collect()
------解决方案--------------------
1,2,3楼都正确,你可以不用自己释放,.net自己会回收
------解决方案--------------------
会自动释放,
如果不放心的话,也可以手动释放
------解决方案--------------------
我也是在考虑这个问题。看各位老大的解释。我测试看看
------解决方案--------------------
我想知道close 和 dispose的区别

------解决方案--------------------
探讨
我想知道close 和 dispose的区别

------解决方案--------------------
探讨
在c#中的一个函数中创建一个局部变量,例如:
private void button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();
form.ShowDialog();
form.Close();
}
当这个函数的执行完之后,form对象是否被释放了呢?
如果不释放,那么我每调用……

------解决方案--------------------
不会释放 因为它根本就不会执行close 每次都会打开新的界面。
  相关解决方案