Unsafe.SubtractByteOffset Methode

Definition

Überlädt

Name Beschreibung
SubtractByteOffset<T>(T, IntPtr)

Subtrahiert einen Byte-Offset vom angegebenen verwalteten Zeiger.

SubtractByteOffset<T>(T, UIntPtr)

Subtrahiert einen Byte-Offset vom angegebenen verwalteten Zeiger.

SubtractByteOffset<T>(T, IntPtr)

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

Subtrahiert einen Byte-Offset 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) where T : allows ref struct;
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 Byte-Offsets vom Quellzeiger widerspiegelt.

Hinweise

Der byteOffset Parameter ist die Anzahl der Bytes, die aus dem source Zeiger entfernt werden sollen. Wenn beispielsweise ein Quellzeiger ptr vom Typ ref intist, gibt der Aufruf Unsafe.SubtractByteOffset<int>(ref ptr, 20) einen neuen Zeiger zurück, dessen Adresspunkte 20 Byte vor ptr liegen.

Wenn byteOffset 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.SubtractByteOffset<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft IntPtr.

Gilt für:

SubtractByteOffset<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.

Subtrahiert einen Byte-Offset vom angegebenen verwalteten Zeiger.

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, UIntPtr byteOffset);
[System.CLSCompliant(false)]
public static ref T SubtractByteOffset<T>(ref T source, UIntPtr byteOffset) where T : allows ref struct;
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);
[<System.CLSCompliant(false)>]
static member SubtractByteOffset : 'T * unativeint -> 'T
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 Byte-Offsets vom Quellzeiger widerspiegelt.

Attribute

Hinweise

Der byteOffset Parameter ist die Anzahl der Bytes, die vom source Zeiger subtrahiert werden sollen. Wenn beispielsweise ein Quellzeiger ptr vom Typ ref intist, gibt der Aufruf Unsafe.SubtractByteOffset<int>(ref ptr, (nuint)20) einen neuen Zeiger zurück, dessen Adresspunkte 20 Byte vor ptr liegen.

Wenn byteOffset 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.SubtractByteOffset<int>(ref ptr, a * b)muss der Aufrufer beispielsweise sicherstellen, dass der Zwischenwert a * b nicht die Grenzen überläuft UIntPtr.

Gilt für: