Unsafe.SubtractByteOffset 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
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
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 int
gibt 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
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 int
gibt 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.