.NET Frameworkを使用してオブジェクトがメモリに格納される仕組みを理解しようとしています。オブジェクトはどのようにメモリに保存されていますか?
次person
クラスを考える:、
まず:私はタイプ
Person
の開始変数がメモリ内に次のような構造を持っていると考えているpublic class Person { public string name { get; set; } public int age { get; set; } }
質問私の理解の主な/明白な欠陥は何ですか? (私はほぼ確実ですが、私が記述している方法でオブジェクトを処理するのが効率的ではないように思えます;特に
name
ポインタが文字列メンバのcharコレクションを指す方法で)第2に、クラスの値型メンバ(IE
Age
)は、オブジェクト自体(オブジェクトと同じメモリアドレス内)に格納されているか、オブジェクトが自身のアドレスを割り当てられていますか? (私のダイアグラムのような)上記の質問に似ていますが、参照型メンバーの場合、オブジェクトはポインタへのポインタを保持していますか?私の
Person
クラスのメンバーがプロパティではなくフィールドであれば違いがありますか?
アップデート:私は今正しいと信じているスイーパー&ティムからの回答に基づいて更新図。
注:ポインタは、このコードを管理されているように参照するように変更します。
ありがとうございます。私はあなたと私は今正しいと思うティムの答えに基づいて更新された図を追加しましたか? – KidCode
@KidCodeはいそうです。 – Sweeper