クラスは通常、メンバー変数とメソッドで構成されます。クラスのインスタンスを作成すると、クラスのメンバー変数にメモリが割り当てられます。メンバーメソッドもメモリを占有しますか? これらのメソッドはどこに保存されますか?
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
クラス s は単なる青写真です。型クラスの変数が定義されていない限り、スペースを占有しません。タイプクラスのオブジェクト/インスタンスが定義されると、クラスメンバーはメモリ内のスペースを占有します。また、インスタンスのサイズは、クラスで定義されているメンバーのサイズの合計に等しくなります。
于 2017-12-01T04:28:49.493 に答える