首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

c# 中资源释放有关问题

2012-03-01 
c# 中资源释放问题在c#中的一个函数中创建一个局部变量,例如:private void button1_Click(object sender,

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 每次都会打开新的界面。

热点排行