2011-10-01 32 views
9

नहीं जोड़ा जा सकता मैं सी # दृश्य स्टूडियो 2010 में इस पंक्तियाँ:एक IntPtr और एक इंट

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