Адрес переменной ссылочного типа в памяти

Выдаёт ошибку, что нельзя получить адрес памяти переменной управляемого типа, если я пытаюсь сделать так &varString.

Как возможно получить адрес памяти string и char[] и вывести его на экран? С числовыми всё понятно и символьными тоже. Рабочий код:

int varInt = 123456;
string varString = "DefaultString"; 
string str = "Long char array right there ->";
const int size = 128;
char[] arrChar = new char[size];
arrChar = str.ToCharArray(); 

int* ptr2int = &varInt;
ulong addrInt = (ulong)ptr2int;

Console.WriteLine("varInt         " + "(0x" + addrInt.ToString("X") + ") = " + varInt);
Console.WriteLine("varString      " + "(string) = " + varString );
Console.Write("arrChar[128]   " + "(char[]) = ");

for (int i = 0; i < arrChar.Length; i++) Console.Write(arrChar[i]);

Вывод:

введите сюда описание изображения

Необходимо, чтобы вместо string и char[] был адрес памяти. Насколько я понял надо взять первый символ в string и первый элемент char[]?

*Всё это нужно мне для чтения текста в string и char[]. Прочитать int я смог.


Ответы (0 шт):