Unsafe.Add Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Add<T>(Void*, Int32) |
Fügt dem angegebenen nicht verwalteten Zeiger ein Elementversatz hinzu. |
| Add<T>(T, Int32) |
Fügt dem angegebenen verwalteten Zeiger einen Offset hinzu. |
| Add<T>(T, IntPtr) |
Fügt dem angegebenen verwalteten Zeiger ein Elementversatz hinzu. |
| Add<T>(T, UIntPtr) |
Fügt dem angegebenen verwalteten Zeiger ein Elementversatz hinzu. |
Add<T>(Void*, Int32)
Wichtig
Diese API ist nicht CLS-kompatibel.
Fügt dem angegebenen nicht verwalteten Zeiger ein Elementversatz 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 elementOffset.
Parameter
- source
- Void*
Der nicht verwaltete Zeiger, um den Offset hinzuzufügen.
- elementOffset
- Int32
Der Offset, der addiert werden soll.
Gibt zurück
- Void*
Ein neuer nicht verwalteter Zeiger, der die Ergänzung des angegebenen Offsets zum Quellzeiger widerspiegelt.
- Attribute
Hinweise
Der elementOffset Parameter ist die Anzahl der TGrößenelemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Wenn Sie beispielsweise einen Quellzeiger ptr haben, gibt der Aufruf Unsafe.Add<int>(ptr, 20) einen neuen Zeiger zurück, dessen Adresspunkte 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinaus aufweisen.
Wenn elementOffset es sich um einen berechneten Wert anstatt um einen hart codierten Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ptr, a * b)muss der Anrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft Int32.
Gilt für:
Add<T>(T, Int32)
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, um den Offset hinzuzufügen.
- elementOffset
- Int32
Der Offset, der addiert werden soll.
Gibt zurück
- T
Ein neuer verwalteter Zeiger, der die Ergänzung des angegebenen Offsets zum Quellzeiger widerspiegelt.
Hinweise
Der elementOffset Parameter ist die Anzahl der TGrößenelemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Wenn Sie beispielsweise einen Quellzeiger ptr des Typs ref inthaben, gibt der Aufruf Unsafe.Add<int>(ref ptr, 20) einen neuen Zeiger zurück, dessen Adresse 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinaus zurückgibt.
Wenn elementOffset es sich um einen berechneten Wert anstatt um einen hart codierten Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Anrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft Int32.
Gilt für:
Add<T>(T, IntPtr)
Fügt dem angegebenen verwalteten Zeiger ein Elementversatz 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, um den Offset hinzuzufügen.
- elementOffset
-
IntPtr
nativeint
Der Offset, der addiert werden soll.
Gibt zurück
- T
Ein neuer verwalteter Zeiger, der die Ergänzung des angegebenen Offsets zum Quellzeiger widerspiegelt.
Hinweise
Der elementOffset Parameter ist die Anzahl der TGrößenelemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Wenn Sie beispielsweise einen Quellzeiger ptr des Typs ref inthaben, gibt der Aufruf Unsafe.Add<int>(ref ptr, (nint)20) einen neuen Zeiger zurück, dessen Adresse 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinaus zurückgibt.
Wenn elementOffset es sich um einen berechneten Wert anstatt um einen hart codierten Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Anrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft IntPtr.
Gilt für:
Add<T>(T, UIntPtr)
Wichtig
Diese API ist nicht CLS-kompatibel.
Fügt dem angegebenen verwalteten Zeiger ein Elementversatz 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, um den Offset hinzuzufügen.
- elementOffset
-
UIntPtr
nuint
unativeint
Der Offset, der addiert werden soll.
Gibt zurück
- T
Ein neuer verwalteter Zeiger, der die Ergänzung des angegebenen Offsets zum Quellzeiger widerspiegelt.
- Attribute
Hinweise
Der elementOffset Parameter ist die Anzahl der TGrößenelemente (nicht Bytes), die dem source Zeiger hinzugefügt werden sollen. Wenn Sie beispielsweise einen Quellzeiger ptr des Typs ref inthaben, gibt der Aufruf Unsafe.Add<int>(ref ptr, (nuint)20) einen neuen Zeiger zurück, dessen Adresse 80 Bytes (= 20 Elemente * 4 Bytes pro Element) über ptr hinaus zurückgibt.
Wenn elementOffset es sich um einen berechneten Wert anstatt um einen hart codierten Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Anrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft UIntPtr.