Freigeben über


Unsafe.Add Methode

Definition

Überlädt

Add<T>(Void*, Int32)

Fügt dem angegebenen nicht verwalteten Zeiger einen Elementoffset hinzu.

Add<T>(T, Int32)

Fügt dem angegebenen verwalteten Zeiger einen Offset hinzu.

Add<T>(T, IntPtr)

Fügt dem angegebenen verwalteten Zeiger einen Elementoffset hinzu.

Add<T>(T, UIntPtr)

Fügt dem angegebenen verwalteten Zeiger einen Elementoffset hinzu.

Add<T>(Void*, Int32)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
Quelle:
Unsafe.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Fügt dem angegebenen nicht verwalteten Zeiger einen Elementoffset hinzu.

public:
generic <typename T>
 static void* Add(void* source, int elementOffset);
public static void* Add<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Add<T> (void* source, int elementOffset);
static member Add : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Add : nativeptr<unit> * int -> nativeptr<unit>

Typparameter

T

Der Typ, dessen Größe als Skalierungsfaktor für elementOffsetverwendet wird.

Parameter

source
Void*

Der nicht verwaltete Zeiger, dem der Offset hinzugefügt werden soll.

elementOffset
Int32

Der Offset, der addiert werden soll.

Gibt zurück

Void*

Ein neuer nicht verwalteter Zeiger, der das Hinzufügen des angegebenen Offsets zum Quellzeiger widerspiegelt.

Attribute

Hinweise

Der elementOffset Parameter ist die Anzahl der TElemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Bei einem Quellzeiger ptr gibt der Aufruf Unsafe.Add<int>(ptr, 20) beispielsweise einen neuen Zeiger zurück, dessen Adresspunkte 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinausgehen.

Wenn elementOffset es sich um einen berechneten Wert anstelle eines hartcodierten Literals handelt, sollten Aufrufer die Möglichkeit eines Ganzzahlüberlaufs in Betracht ziehen. Im Aufruf Unsafe.Add<int>(ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen von Int32überläuft.

Gilt für:

Add<T>(T, Int32)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
Quelle:
Unsafe.cs

Fügt dem angegebenen verwalteten Zeiger einen Offset hinzu.

public:
generic <typename T>
 static T % Add(T % source, int elementOffset);
public static ref T Add<T> (ref T source, int elementOffset);
static member Add : 'T * int -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As Integer) As T

Typparameter

T

Der Elementtyp des verwalteten Zeigers.

Parameter

source
T

Der verwaltete Zeiger, dem der Offset hinzugefügt werden soll.

elementOffset
Int32

Der Offset, der addiert werden soll.

Gibt zurück

T

Ein neuer verwalteter Zeiger, der das Hinzufügen des angegebenen Offsets zum Quellzeiger widerspiegelt.

Hinweise

Der elementOffset Parameter ist die Anzahl der TElemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Bei einem Quellzeiger vom Typ ref intgibt der Aufruf Unsafe.Add<int>(ref ptr, 20) beispielsweise einen neuen Zeiger zurück, dessen Adresspunkte 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinausgehen.

Wenn elementOffset es sich um einen berechneten Wert anstelle eines hartcodierten Literals handelt, sollten Aufrufer die Möglichkeit eines Ganzzahlüberlaufs in Betracht ziehen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen von Int32überläuft.

Gilt für:

Add<T>(T, IntPtr)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
Quelle:
Unsafe.cs

Fügt dem angegebenen verwalteten Zeiger einen Elementoffset hinzu.

public:
generic <typename T>
 static T % Add(T % source, IntPtr elementOffset);
public static ref T Add<T> (ref T source, IntPtr elementOffset);
static member Add : 'T * nativeint -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As IntPtr) As T

Typparameter

T

Der Elementtyp des verwalteten Zeigers.

Parameter

source
T

Der verwaltete Zeiger, dem der Offset hinzugefügt werden soll.

elementOffset
IntPtr

nativeint

Der Offset, der addiert werden soll.

Gibt zurück

T

Ein neuer verwalteter Zeiger, der das Hinzufügen des angegebenen Offsets zum Quellzeiger widerspiegelt.

Hinweise

Der elementOffset Parameter ist die Anzahl der TElemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Bei einem Quellzeiger vom Typ ref intgibt der Aufruf Unsafe.Add<int>(ref ptr, (nint)20) beispielsweise einen neuen Zeiger zurück, dessen Adresspunkte 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinausgehen.

Wenn elementOffset es sich um einen berechneten Wert anstelle eines hartcodierten Literals handelt, sollten Aufrufer die Möglichkeit eines Ganzzahlüberlaufs in Betracht ziehen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen von IntPtrüberläuft.

Gilt für:

Add<T>(T, UIntPtr)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
Quelle:
Unsafe.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Fügt dem angegebenen verwalteten Zeiger einen Elementoffset hinzu.

public:
generic <typename T>
 static T % Add(T % source, UIntPtr elementOffset);
public static ref T Add<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Add<T> (ref T source, UIntPtr elementOffset);
static member Add : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Add : 'T * unativeint -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As UIntPtr) As T

Typparameter

T

Der Elementtyp des verwalteten Zeigers.

Parameter

source
T

Der verwaltete Zeiger, dem der Offset hinzugefügt werden soll.

elementOffset
UIntPtr

nuint

unativeint

Der Offset, der addiert werden soll.

Gibt zurück

T

Ein neuer verwalteter Zeiger, der das Hinzufügen des angegebenen Offsets zum Quellzeiger widerspiegelt.

Attribute

Hinweise

Der elementOffset Parameter ist die Anzahl der TElemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Bei einem Quellzeiger vom Typ ref intgibt der Aufruf Unsafe.Add<int>(ref ptr, (nuint)20) beispielsweise einen neuen Zeiger zurück, dessen Adresspunkte 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinausgehen.

Wenn elementOffset es sich um einen berechneten Wert anstelle eines hartcodierten Literals handelt, sollten Aufrufer die Möglichkeit eines Ganzzahlüberlaufs in Betracht ziehen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen von UIntPtrüberläuft.

Gilt für: