重新初始化对象

Zig*_*gma 0 c#

我有一个应用程序,每次处理时都需要重新初始化.就像是 :

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?问题是我每次都需要新的价值.在这种情况下,分配是否正常?如果我重新初始化,我不知道已经分配的对象会发生什么,如第二种方法所示.

dot*_*NET 5

Dispose()只有在使用非托管内存时才需要处理(通过调用)"引用对象" .所有这些对象(在.NET类库中)都可以实现IDisposable.另一方面,受管对象由垃圾收集器在后台自动收集(删除).事实上,没有直接的方法来删除托管对象.你不应该担心这些对象.一旦它们超出范围,GC将最终释放他们的记忆.

简单地为托管变量分配新值会释放先前值的引用,因此可供GC删除.