【发布时间】:2011-11-29 02:03:42
【问题描述】:
我在 C# Visual Studio 2010 中有这行:
IntPtr a = new IntPtr(10);
IntPtr b = a + 10;
它说:
运算符“+”不能应用于“System.IntPtr”和“int”类型的操作数。
【问题讨论】:
-
您的项目是否面向 .NET 4?
我在 C# Visual Studio 2010 中有这行:
IntPtr a = new IntPtr(10);
IntPtr b = a + 10;
它说:
运算符“+”不能应用于“System.IntPtr”和“int”类型的操作数。
【问题讨论】:
如果您的目标是 .net 4,那么您的代码将可以工作。
对于早期版本,您需要使用IntPtr.ToInt64。
IntPtr a = new IntPtr(10);
IntPtr b = new IntPtr(a.ToInt64()+10);
使用 ToInt64 而不是 ToInt32,以便您的代码同时适用于 32 位和 64 位。
【讨论】: