Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

IntPtr.Add-Methode: (IntPtr, Int32)

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Addiert einen Offset zum Wert eines Zeigers.

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

public static IntPtr Add(
	IntPtr pointer,
	int offset
)

Parameter

pointer
Type: System.IntPtr

Der Zeiger, zu dem der Offset addiert werden soll.

offset
Type: System.Int32

Der Offset, der addiert werden soll.

Rückgabewert

Type: System.IntPtr

Ein neuer Zeiger, der die Addition von offset zu pointer widerspiegelt.

Die Add -Methode löst keine Ausnahme aus, wenn das Ergebnis zu groß, um als Zeiger auf der angegebenen Plattform dargestellt ist. Stattdessen wird die Additionsoperation in einem nicht geprüften Kontext ausgeführt.

Sprachen, die Überladen von Operatoren oder benutzerdefinierte Operatoren nicht unterstützen können diese Methode verwenden, um einen Offset zum Wert eines Zeigers hinzufügen.

Im folgenden Beispiel wird ein IntPtr -Objekt, das den Anfang ein Array mit 10 Elementen verweist, und ruft dann die Add Methode, um die Elemente im Array durchlaufen.

using System;
using System.Runtime.InteropServices;

public class Example
{
   public static void Main()
   {
      int[] arr = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
      unsafe {
         fixed(int* parr = arr) {
            IntPtr ptr = new IntPtr(parr);
            // Get the size of an array element.
            int size = sizeof(int);
            for (int ctr = 0; ctr < arr.Length; ctr++)
            {
               IntPtr newPtr = IntPtr.Add(ptr, ctr * size);
               Console.Write("{0}   ", Marshal.ReadInt32(newPtr));
            }
         }      
      }
   }
}
// The example displays the following output:
//       2   4   6   8   10   12   14   16   18   20

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: