2009-06-30 4 views
0

オブジェクトの参照をどのようにメモリに出力できますか? Like:C#どのような方法でオブジェクトの参照を出力する

Console.WriteLine( "Object at Memory Location" + object.Reference);

ありがとうございました。私はこれをデバッグするために必要です。

+0

はhttp://stackoverflow.com/questions/588817/c-memory-を参照してください:あなたはまだ下に使用することができますが、私はそれはあなたが望むものを達成するとは思わない、と述べた

アドレスと変数。 –

答えて

4

管理オブジェクトの場合は、正当な理由がありません。ガベージコレクション中に場所を変更することができます。

+0

GetHashCode()を使用できるオブジェクトIDを探している場合 –

+0

ピンを固定すると場所を変更できません。 –

+0

うわー、彼が言ったこと! –

1

.NETチュートリアルの「ポインタ」によく言われることがありますが、「参照」ではなく「ポインタ」ではなく、「ポインタ」で説明する必要があります。これが理由です。この区別は、特に高等な概念を教えるときには些細なことですが、このような時は非常に重要ではありません。

実際のポインタは.NETで処理され、.NETではメモリ内のオブジェクトの場所が頻繁に変更されるため、ポインタが変更/更新されます。あなたと私は参照を扱い、.NETがこのマッピングを処理しているのでポインタが変わったときに参照を変更する必要はありません。だから、常にポインタが関わっていますが、現時点でポインターが指しているものが得られたとしても、これが必ずしもどこにあるのかを見つけ出すわけではありません。

int* myIntPointer = &myInt; 
関連する問題