无法添加IntPtr和Int

时间:2011-10-01 15:28:32

标签: c# int addition intptr

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

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

它说:

  

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

MSDN says that this operation should work.

1 个答案:

答案 0 :(得分:19)

如果你的目标是.net 4那么你的代码就可以了。

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

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

使用ToInt64而不是ToInt32,以便您的代码适用于32位和64位。