IntPtr.Addition Operator (IntPtr, Int32)

.NET Framework (current version)
 
equivalentCodeEntityM:System.IntPtr.Add(System.IntPtr,System.Int32)

Adds an offset to the value of a pointer.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

Public Shared Operator + (
	pointer As IntPtr,
	offset As Integer
) As IntPtr

Parameters

pointer
Type: System.IntPtr

The pointer to add the offset to.

offset
Type: System.Int32

The offset to add.

Return Value

Type: System.IntPtr

A new pointer that reflects the addition of offset to pointer.

The Addition method defines the addition operation for IntPtr objects. It enables code such as the following.

Dim arr() As Integer = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20 }
Dim ptr As IntPtr = Marshal.UnsafeAddrOfPinnedArrayElement(arr, 0)
For ctr As Integer = 0 To arr.Length - 1
   Dim newPtr As IntPtr = ptr + ctr * Len(arr(0))
   Console.WriteLine("{0}   ", Marshal.ReadInt32(newPtr))
Next
' The example displays the following output:
'       2   4   6   8   10   12   14   16   18   20

Languages that do not support custom operators can call the Add method instead.

The addition operation does not throw an exception if the result is too large to represent as a pointer on the specified platform. Instead, it is performed in an unchecked context.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top
Show: