Unsafe.SubtractByteOffset Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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
.