2009-06-30 36 views
0

以什麼方式輸出對象在內存中的引用。 贊:C#輸出對象的引用

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

在此先感謝,我需要這個來做一些調試。

+0

見http://stackoverflow.com/questions/588817/c-memory-地址和可變。 – 2009-06-30 19:53:53

回答

4

對於一個託管對象,你不能也有充分的理由。它可以在任何垃圾收集過程中更改位置。

+0

如果你正在尋找你可能能夠使用的對象標識GetHashCode() – 2009-06-30 20:01:12

1

幾乎每隔一段時間,你可能會看到一個.NET教程提到「指針」,有人惱在評論中說,「參考」而不是「指針」進行討論。這就是爲什麼。這種區別通常是微不足道的,特別是在教授更高級的概念時,但是有時候這樣做是非常不平凡的。

實際指針由.NET處理,.NET經常更改內存中對象的位置,從而更改/更新指針。你和我處理引用,當指針執行時,我們的引用不需要改變,因爲.NET爲我們處理這個映射。因此,雖然總是有指針參與,即使我們確實得到了指針指向的內容,但這並不一定意味着您正在查找它將繼續存在的位置。

這就是說,你仍然可以使用下面的,但我不認爲它會實現你的願望:

int* myIntPointer = &myInt;