2009-03-14 14 views
3

構造体がクラス内にある場合に、その構造体がクラスのようにヒープに格納されていると言われるスレッド(Marc GravellとJon Skeetの入力があります)を読みました。構造体に格納されるときに割り当てられるクラスはどこですか?

クラスが構造体のメンバーの場合はどうなりますか?クラスはどこに割り当てられますか?

おかげ

+0

情報のために、struct local-** variable **(通常はスタック上にある)がヒープ上で終わる方法もいくつかあります。キャプチャされた変数、イテレータブロックなど –

+0

ありがとうございます。これは実際に私が上記のスレッドのメンバーによって言及されました(私は構造体がC#のクラスと呼ばれると思います)。 – dotnetdev

答えて

12

クラスは、構造体のメンバである場合は、その後だけ参照は、構造体(インスタンスにすなわち64分の32ビット・アドレス)に格納されています。クラスのインスタンスは、常にヒープ上のです。

3

まだヒープにあります。構造体には、クラスインスタンスへの参照(ポインタのような)のみが含まれます。

関連する問題