无法添加IntPtr和Int

Sp3*_*t3R 9 c# int addition intptr

我在C#Visual Studio 2010中有这些行:

IntPtr a = new IntPtr(10);
IntPtr b = a + 10;
Run Code Online (Sandbox Code Playgroud)

它说:

运算符'+'不能应用于'System.IntPtr'和'int'类型的操作数.

MSDN说这个操作应该有效.

Dav*_*nan 19

如果您的目标是.net 4,那么您的代码将起作用.

对于您需要使用的早期版本IntPtr.ToInt64.

IntPtr a = new IntPtr(10);
IntPtr b = new IntPtr(a.ToInt64()+10);
Run Code Online (Sandbox Code Playgroud)

使用ToInt64而不是ToInt32使您的代码适用于32位和64位.