Не могу добавить IntPtr и Int - PullRequest
       25

Не могу добавить IntPtr и Int

9 голосов
/ 01 октября 2011

У меня есть эти строки в C # Visual Studio 2010:

IntPtr a = new IntPtr(10);
IntPtr b = a + 10;

И там написано:

Оператор '+' нельзя применить к операндам типа 'System.IntPtr' и 'int'.

MSDN говорит, что эта операция должна работать.

1 Ответ

19 голосов
/ 01 октября 2011

Если вы нацелены на .net 4, ваш код будет работать.

Для более ранних версий вам нужно использовать IntPtr.ToInt64.

IntPtr a = new IntPtr(10);
IntPtr b = new IntPtr(a.ToInt64()+10);

Используйте ToInt64 вместо ToInt32, чтобы ваш код работал как для 32, так и для 64-битных.

...