无法将IntPtr和Int相加

9

我在C# Visual Studio 2010中有以下代码:

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

并且它说:

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

MSDN表示此操作应该有效。


4
你的项目是否针对.NET 4进行开发? - Anton Tykhyy
1个回答

19

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

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

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

使用ToInt64而不是ToInt32,这样您的代码就可以同时适用于32位和64位。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接