Смещение в шестнадцатеричном формате из текстового поля

StackOverflow https://stackoverflow.com/questions/2229165

  •  19-09-2019
  •  | 
  •  

Вопрос

я использую 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top