Share via


Unsafe.SubtractByteOffset Methode

Definition

Überlädt

SubtractByteOffset<T>(T, IntPtr)

Subtrahiert einen Byteoffset vom angegebenen verwalteten Zeiger.

SubtractByteOffset<T>(T, UIntPtr)

Subtrahiert einen Byteoffset vom angegebenen verwalteten Zeiger.

SubtractByteOffset<T>(T, IntPtr)

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

Subtrahiert einen Byteoffset vom angegebenen verwalteten Zeiger.

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

Typparameter

T

Der Elementtyp des verwalteten Zeigers.

Parameter

source
T

Der verwaltete Zeiger, von dem der Offset subtrahiert werden soll.

byteOffset
IntPtr

nativeint

Der Offset, der subtrahiert werden soll.

Gibt zurück

T

Ein neuer verwalteter Zeiger, der die Subtraktion des angegebenen Byteoffsets vom Quellzeiger widerspiegelt.

Hinweise

Der byteOffset Parameter ist die Anzahl der Bytes, die aus dem source Zeiger entfernt werden sollen. Bei einem Quellzeiger ptr vom Typ ref intgibt der Aufruf Unsafe.SubtractByteOffset<int>(ref ptr, 20) beispielsweise einen neuen Zeiger zurück, dessen Adresse 20 Bytes vor ptr zeigt.

Wenn byteOffset 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.SubtractByteOffset<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:

SubtractByteOffset<T>(T, UIntPtr)

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

Wichtig

Diese API ist nicht CLS-kompatibel.

Subtrahiert einen Byteoffset vom angegebenen verwalteten Zeiger.

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

Typparameter

T

Der Elementtyp des verwalteten Zeigers.

Parameter

source
T

Der verwaltete Zeiger, von dem der Offset subtrahiert werden soll.

byteOffset
UIntPtr

nuint

unativeint

Der Offset, der subtrahiert werden soll.

Gibt zurück

T

Ein neuer verwalteter Zeiger, der die Subtraktion des angegebenen Byteoffsets vom Quellzeiger widerspiegelt.

Attribute

Hinweise

Der byteOffset Parameter ist die Anzahl der Bytes, die source vom Zeiger subtrahiert werden sollen. Bei einem Quellzeiger ptr vom Typ ref intgibt der Aufruf Unsafe.SubtractByteOffset<int>(ref ptr, (nuint)20) beispielsweise einen neuen Zeiger zurück, dessen Adresse 20 Bytes vor ptr zeigt.

Wenn byteOffset 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.SubtractByteOffset<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: