Compartir a través de


Unsafe.SubtractByteOffset Método

Definición

Sobrecargas

SubtractByteOffset<T>(T, IntPtr)

Resta un desplazamiento de bytes del puntero administrado especificado.

SubtractByteOffset<T>(T, UIntPtr)

Resta un desplazamiento de bytes del puntero administrado especificado.

SubtractByteOffset<T>(T, IntPtr)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

Resta un desplazamiento de bytes del puntero administrado especificado.

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

Parámetros de tipo

T

Tipo elemental del puntero administrado.

Parámetros

source
T

Puntero administrado del que se va a restar el desplazamiento.

byteOffset
IntPtr

nativeint

Desplazamiento que se va a restar.

Devoluciones

T

Nuevo puntero administrado que refleja la resta del desplazamiento de bytes especificado del puntero de origen.

Comentarios

El byteOffset parámetro es el número de bytes que se van a quitar del source puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int, la llamada Unsafe.SubtractByteOffset<int>(ref ptr, 20) devolverá un nuevo puntero cuyos puntos de dirección son 20 bytes antes de ptr.

Si byteOffset es un valor calculado en lugar de un literal codificado de forma dura, los autores de llamadas deben considerar la posibilidad de desbordamiento de enteros. Por ejemplo, en la llamada a , el autor de la llamada Unsafe.SubtractByteOffset<int>(ref ptr, a * b)debe asegurarse de que el valor a * b intermedio no desborda los límites de IntPtr.

Se aplica a

SubtractByteOffset<T>(T, UIntPtr)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

Importante

Esta API no es conforme a CLS.

Resta un desplazamiento de bytes del puntero administrado especificado.

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

Parámetros de tipo

T

Tipo elemental del puntero administrado.

Parámetros

source
T

Puntero administrado del que se va a restar el desplazamiento.

byteOffset
UIntPtr

nuint

unativeint

Desplazamiento que se va a restar.

Devoluciones

T

Nuevo puntero administrado que refleja la resta del desplazamiento de bytes especificado del puntero de origen.

Atributos

Comentarios

El byteOffset parámetro es el número de bytes que se van a restar del source puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int, la llamada Unsafe.SubtractByteOffset<int>(ref ptr, (nuint)20) devolverá un nuevo puntero cuyos puntos de dirección son 20 bytes antes de ptr.

Si byteOffset es un valor calculado en lugar de un literal codificado de forma dura, los autores de llamadas deben considerar la posibilidad de desbordamiento de enteros. Por ejemplo, en la llamada a , el autor de la llamada Unsafe.SubtractByteOffset<int>(ref ptr, a * b)debe asegurarse de que el valor a * b intermedio no desborda los límites de UIntPtr.

Se aplica a