C# · 12月 29, 2021

c# – 无法添加IntPtr和Int

我在C#Visual Studio 2010中有这行 IntPtr a = new IntPtr(10);IntPtr b = a + 10;

它说:

Operator ‘+’ cannot be applied to operands of type ‘system.intPtr’ and ‘int’.

MSDN says that this operation should work.

解决方法 如果你正在使用.net 4,那么你的代码将会工作.

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

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

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