Unsafe.Add Methode

Definition

Überlädt

Name Beschreibung
Add<T>(Void*, Int32)

Fügt dem angegebenen nicht verwalteten Zeiger einen 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 einen Elementversatz hinzu.

Add<T>(T, UIntPtr)

Fügt dem angegebenen verwalteten Zeiger einen Elementversatz hinzu.

Add<T>(Void*, Int32)

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

Wichtig

Diese API ist nicht CLS-kompatibel.

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

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

Typparameter

T

Der Typ, dessen Größe als Skalierungsfaktor verwendet elementOffsetwird.

Parameter

source
Void*

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

elementOffset
Int32

Der hinzuzufügende Offset.

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 der Größe (nicht Byte), 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 Byte pro Element) über ptr hinausgehen.

Wenn elementOffset es sich um einen berechneten Wert und nicht um ein hartcodiertes Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft Int32.

Gilt für:

Add<T>(T, Int32)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
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) where T : allows ref struct;
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 hinzuzufügende Offset.

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 der Größe (nicht Byte), die dem source Zeiger hinzugefügt werden sollen. Wenn beispielsweise ein Quellzeiger ptr vom Typ ref intist, gibt der Aufruf Unsafe.Add<int>(ref ptr, 20) einen neuen Zeiger zurück, dessen Adresse 80 Bytes (= 20 Elemente * 4 Byte pro Element) über ptr hinausgeht.

Wenn elementOffset es sich um einen berechneten Wert und nicht um ein hartcodiertes Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft Int32.

Gilt für:

Add<T>(T, IntPtr)

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

Fügt dem angegebenen verwalteten Zeiger einen Elementversatz hinzu.

public:
generic <typename T>
 static T % Add(T % source, IntPtr elementOffset);
public static ref T Add<T>(ref T source, IntPtr elementOffset) where T : allows ref struct;
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 hinzuzufügende Offset.

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 der Größe (nicht Byte), die dem source Zeiger hinzugefügt werden sollen. Wenn beispielsweise ein Quellzeiger ptr vom Typ ref intist, gibt der Aufruf Unsafe.Add<int>(ref ptr, (nint)20) einen neuen Zeiger zurück, dessen Adresse 80 Bytes (= 20 Elemente * 4 Byte pro Element) über ptr hinausgeht.

Wenn elementOffset es sich um einen berechneten Wert und nicht um ein hartcodiertes Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft IntPtr.

Gilt für:

Add<T>(T, UIntPtr)

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

Wichtig

Diese API ist nicht CLS-kompatibel.

Fügt dem angegebenen verwalteten Zeiger einen Elementversatz hinzu.

public:
generic <typename T>
 static T % Add(T % source, UIntPtr elementOffset);
[System.CLSCompliant(false)]
public static ref T Add<T>(ref T source, UIntPtr elementOffset) where T : allows ref struct;
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);
[<System.CLSCompliant(false)>]
static member Add : 'T * unativeint -> 'T
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 hinzuzufügende Offset.

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 der Größe (nicht Byte), die dem source Zeiger hinzugefügt werden sollen. Wenn beispielsweise ein Quellzeiger ptr vom Typ ref intist, gibt der Aufruf Unsafe.Add<int>(ref ptr, (nuint)20) einen neuen Zeiger zurück, dessen Adresse 80 Bytes (= 20 Elemente * 4 Byte pro Element) über ptr hinausgeht.

Wenn elementOffset es sich um einen berechneten Wert und nicht um ein hartcodiertes Literal handelt, sollten Aufrufer die Möglichkeit eines ganzzahligen Überlaufs berücksichtigen. Im Aufruf Unsafe.Add<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft UIntPtr.

Gilt für: