相关疑难解决方法(0)

在C#中释放内存的正确方法是什么?

我在C#中有一个计时器,它在它的方法中执行一些代码.在代码中我使用了几个临时对象.

  1. 如果我Foo o = new Foo();在方法中有类似的东西,这是否意味着每次计时器滴答时,我都在创建一个新对象和对该对象的新引用?

  2. 如果我有string foo = null,然后我只是在foo中添加一些时间,是否与上面相同?

  3. 垃圾收集器是否会删除该对象,并且会不断创建一个或多个引用并保留在内存中?

  4. 如果我只是声明Foo o;并且没有将它指向任何实例,那么当方法结束时是不是处理掉了?

  5. 如果我想确保删除所有内容,那么最好的方法是:

    • 使用方法内的using语句
    • 通过最后调用dispose方法
    • 通过将Foo o;定时器的方法放在外面并仅在o = new Foo()内部进行赋值,因此在方法结束后删除指向该对象的指针,垃圾收集器将删除该对象.

c# memory memory-leaks

33
推荐指数
3
解决办法
11万
查看次数

标签 统计

c# ×1

memory ×1

memory-leaks ×1