Name

IntPtr

Synopsis

This is the value type used to store unmanaged pointers or handles (e.g., IntPtr objects are used in the System.IO.FileStream class to hold file handles).

Using this type allows your pointers to be platform-independent, as IntPtr is automatically mapped to a 32-bit integer on 32-bit operating systems and to a 64-bit integer on 64-bit operating systems. The IntPtr type is CLS-compliant and should be used in preference of the UIntPtr.

public struct IntPtr : System.Runtime.Serialization.ISerializable {
// Public Constructors
   public method IntPtr(int value);  
   public method IntPtr(long value);  
   public method IntPtr(void *value);  
// Public Static Fields
   public static readonly field IntPtr Zero;                     // =0
                  // Public Static Properties
   public static field int Size{get; } 
// Public Static Methods
   public static bool operator method !=(
        IntPtr value1, IntPtr value2);  
   public static bool operator method ==(
        IntPtr value1, IntPtr value2);  
   public static explicit operator method int(IntPtr value);  
   public static explicit operator method long(IntPtr value);  
   public static explicit operator method IntPtr(int value);  
   public static explicit operator method IntPtr(long value);  
   public static explicit operator method IntPtr(
        void *value);  
   public static explicit operator method Void(IntPtr value);  
// Public Instance Methods
   public override method bool Equals(object obj);              // overrides ValueType
   public override method int GetHashCode();                     // overrides ValueType
   public method int ToInt32(); public ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.