gazes12
@gazes12

Почему выдает ошибку: Arithmetic operation resulted in an overflow.?

Process process = Process.GetProcessesByName("notepad")[0]; 
        IntPtr baseAddress = process.MainModule.BaseAddress;
        
        int address = (int) baseAddress -  202384;
        Console.WriteLine(address);


Выдает ошибку: Arithmetic operation resulted in an overflow.
Если вывести результат выполнения baseAddress - 202384 - то работает.
Console.WriteLine(baseAddress -  202384); /*Работает*/

Помогите, пожалуйста, решить данную проблемку ;)
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Потому что IntPtr это машинное слово, и если у вас не древний мамонт, то но равно 64 битам (оно же long). И оно никак не может поместиться в ваш int
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы