一个类通常由成员变量和方法组成。当我们创建类的实例时,会为类的成员变量分配内存。成员方法是否也占用内存?这些方法存储在哪里?
user2016089
问问题
5071 次
2 回答
4
假设我们有以下类:
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();
SayName()
函数继续运行,对象Call Stack
及其Person p
属性 ( Name
) 将保留在内存中,直到Garbage Collection
进入并清理它。
在内存方面,你应该更关心对象的实例字段(属性),你正在处理的对象的数量,以及你的对象是否是某个时间Reader
或Connection
。如果你的对象是一个Reader
或者Connection
你需要考虑一个using
语句。
伪代码:
using(DatabaseConnection dbConn = new DatabaseConnection()
{
// Process your calls and data
}
// The object is Disposable and it's resources are cleared
于 2012-06-23T04:57:31.187 回答
0
Class 只是一个蓝图,只要没有定义类类型的变量,它就不会占用任何空间。一旦定义了类类型的对象/实例,类成员将占用内存中的一些空间。并且实例的大小等于类中定义的成员大小的总和。
于 2017-12-01T04:28:49.493 回答