Как я могу показать адрес указателя в C#?

Я не сделал никаких указателей, так как я программировал в C# - и мой C ++, дни были давно. Я думал, что должен освежить свое знание и просто играл вокруг с ними из-за другого вопроса на здесь. Я понимаю их всех хорошо, но я не могу выяснить, как написать обращение указателя к пульту...

char c = 'c';
char d = 'd';
char e = 'e';

unsafe
{
    char* cp = &d;
    //How do I write the pointer address to the console?
    *cp = 'f';
    cp = &e;
    //How do I write the pointer address to the console?
    *cp = 'g';
    cp = &c;
    //How do I write the pointer address to the console?
    *cp = 'h';        
}
Console.WriteLine("c:{0}", c); //should display "c:h";
Console.WriteLine("d:{0}", d); //should display "d:f";
Console.WriteLine("e:{0}", e); //should display "e:g";

Используя Console.WriteLine(*cp); дает мне текущую стоимость по адресу указателя... что, если я хочу показать фактический адрес?

15
задан BenAlabaster 13 January 2010 в 15:57
поделиться

3 ответа

Console.WriteLine(new IntPtr(cp));
20
ответ дан 1 December 2019 в 02:55
поделиться

Помните, что с управляемым кодом сборщик мусора может свободно перемещать вещи на вас. Убедитесь в том, что - ваш объект опущен вниз, если вы находитесь в ситуации, в которой адрес имеет значение.

4
ответ дан 1 December 2019 в 02:55
поделиться

указатель на байтовый тип.

0
ответ дан 1 December 2019 в 02:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: