假设我们有以下课程:
public class Person
{
public string Name { get; set; }
public Person(string name)
{
Name = name;
}
public string SayName()
{
string hello = "Hello! My name is ";
return hello + name;
}
}
Person p = new Person("John");
string yourName = p.SayName();
Run Code Online (Sandbox Code Playgroud)
函数SayName()继续执行Call Stack,Person p对象及其属性 ( Name) 将保留在内存中,直到Garbage Collection进入并清理它。
在内存方面,您应该更关心对象的实例字段(属性)、您正在处理的对象的数量以及您的对象是否是某个时间的Reader或Connection。如果你的对象是ReaderorConnection你需要考虑一个using声明。
伪代码:
using(DatabaseConnection dbConn = new DatabaseConnection()
{
// Process your calls and data
}
// The object is Disposable and it's resources are cleared
Run Code Online (Sandbox Code Playgroud)