我有一个应用程序,每次处理时都需要重新初始化.就像是 :
private void method(int someValue, int someValue2)
{
obj.val1 = someNewValue;
obj1.Val2 = someNewValue2;
}
Run Code Online (Sandbox Code Playgroud)
将重复调用此方法.所以我怀疑每次重新初始化对象有什么用呢?就像是;
private void method(int someValue, int someValue2)
{
obj = new object();
obj.Val1 = someNewValue;
obj1.Val2 = someNewValue2;
}
Run Code Online (Sandbox Code Playgroud)
我知道分配null给一个对象并没有什么结果.或者我应该实施IDisposable?问题是我每次都需要新的价值.在这种情况下,分配是否正常?如果我重新初始化,我不知道已经分配的对象会发生什么,如第二种方法所示.
Dispose()只有在使用非托管内存时才需要处理(通过调用)"引用对象" .所有这些对象(在.NET类库中)都可以实现IDisposable.另一方面,受管对象由垃圾收集器在后台自动收集(删除).事实上,没有直接的方法来删除托管对象.你不应该担心这些对象.一旦它们超出范围,GC将最终释放他们的记忆.
简单地为托管变量分配新值会释放先前值的引用,因此可供GC删除.