9

C# Visual Studio 2010 に次の行があります。

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

そしてそれは言います:

演算子 '+' は、タイプ 'System.IntPtr' および 'int' のオペランドには適用できません。

MSDN によると、この操作は機能するはずです。

4

1 に答える 1

19

.net 4 をターゲットにしている場合、コードは機能します。

それ以前のバージョンでは、 を使用する必要がありますIntPtr.ToInt64

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

コードが 32 ビットと 64 ビットの両方で機能するように、ToInt64ではなく使用します。ToInt32

于 2011-10-01T15:32:55.870 に答える