C# 函数中未赋值对象的作用域是什么?对象何时被处置/垃圾回收?

C# 函数中未赋值对象的作用域是什么?对象何时被处置/垃圾回收?,c#,C#,我想知道在方法中初始化的对象何时被释放。 我的假设是当函数的范围结束时 public void foo() { new Object1().SomeMethod(); } 在方法的末尾,没错。当GC认为是时候收集时,它就会被收集。(始终假定SomeMethod不会将此放入其他幸存对象中)。除非使用using语句或显式调用Dispose(),否则不会处理任何内容。也许你的意思是“收集”而不是“处置”?关于细节问题。所以不是在方法的结尾,在方法的结尾,是的。当GC认为是时候收集时,它就会被收集。

我想知道在方法中初始化的对象何时被释放。 我的假设是当函数的范围结束时

public void foo() {
 new Object1().SomeMethod();
}

在方法的末尾,没错。当GC认为是时候收集时,它就会被收集。(始终假定
SomeMethod
不会将
放入其他幸存对象中)。除非使用
using
语句或显式调用Dispose(),否则不会处理任何内容。也许你的意思是“收集”而不是“处置”?关于细节问题。所以不是在方法的结尾,在方法的结尾,是的。当GC认为是时候收集时,它就会被收集。(始终假定
SomeMethod
不会将
放入其他幸存对象中)。除非使用
using
语句或显式调用Dispose(),否则不会处理任何内容。也许你的意思是“收集”而不是“处置”?关于细节问题。所以不是在方法的末尾。