Смещение в шестнадцатеричном формате из текстового поля
Вопрос
я использую lpBaseAddress : IntPtr
но ...Мне нужно ввести шестнадцатеричное значение :-/ как обычное смещение
как на VB, это может быть что-то вроде:
offset = CLng("&H" + text)
Поэтому мне нужно взять значение из текстового поля и проделать ту же магию на С# (или Nemerle ^_)
Решение
Если вы просто хотите проанализировать шестнадцатеричный код:
string hex = "0a12cc";
long ptr = Convert.ToInt64(hex, 16);
IntPtr newPtr = new IntPtr(ptr);
я использовал long
здесь для иллюстрации, так как IntPtr
может быть 32/64.
Другие советы
offset = System.Convert.ToInt64(this.yourTextBox.Text, 16);
Вы уверены, что вам нужен Int64 (Long), а не просто Int32 (Int)?Если вы программист VB6, вам нужен Int32 (Int), а не Long.
Не связан с StackOverflow