2011-10-01 8 views
9

を追加することはできません:は、私は2010年のC#Visual Studioでこのライン持ちのIntPtrとのInt

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

をそして、それは言う:

演算子 '+' タイプのオペランドに適用することはできません'System.IntPtr'と 'int'。

MSDN says that this operation should work.

+4

プロジェクトが.NET 4をターゲットにしていますか? –

+0

いいえ私は.net 3.5を使用します – Sp3ct3R

答えて

19

あなたは、あなたのコードが動作する.NET 4を標的にしている場合。

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

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

使用ToInt64ではなく、ToInt32あなたのコードは、両方の32ビットおよび64ビットのために動作するように。

+0

それはありがとうございます。 – Sp3ct3R

+0

@ Sp3ct3Rあなたを助けた答えに印を付けることを忘れないでください! –

+0

もう一度ありがとうございます。完了;) – Sp3ct3R

関連する問題