Unsafe.Subtract 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
Subtract<T>(Void*, Int32) |
Resta un desplazamiento de elemento del puntero no administrado especificado. |
Subtract<T>(T, Int32) |
Resta un desplazamiento del puntero administrado especificado. |
Subtract<T>(T, IntPtr) |
Resta un desplazamiento de elemento del puntero administrado especificado. |
Subtract<T>(T, UIntPtr) |
Resta un desplazamiento de elemento del puntero administrado especificado. |
Subtract<T>(Void*, Int32)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Importante
Esta API no es conforme a CLS.
Resta un desplazamiento de elemento del puntero no administrado especificado.
public:
generic <typename T>
static void* Subtract(void* source, int elementOffset);
public static void* Subtract<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Subtract<T> (void* source, int elementOffset);
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
Parámetros de tipo
- T
Tipo cuyo tamaño se usará como factor de escala para elementOffset
.
Parámetros
- source
- Void*
Puntero no administrado del que se va a restar el desplazamiento.
- elementOffset
- Int32
Desplazamiento que se va a restar.
Devoluciones
Nuevo puntero no administrado que refleja la resta del desplazamiento especificado del puntero de origen.
- Atributos
Comentarios
El elementOffset
parámetro es el número de elementos de T
tamaño (no bytes) que se van a quitar del source
puntero. Por ejemplo, dado un puntero de origen ptr, la llamada Unsafe.Subtract<int>(ptr, 20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) antes de ptr.
Si elementOffset
es un valor calculado en lugar de un literal codificado de forma rígida, los llamadores deben considerar la posibilidad de desbordamiento entero. Por ejemplo, en la llamada Unsafe.Subtract<int>(ptr, a * b)
a , el llamador debe asegurarse de que el valor a * b
intermedio no desborda los límites de Int32
.
Se aplica a
Subtract<T>(T, Int32)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Resta un desplazamiento del puntero administrado especificado.
public:
generic <typename T>
static T % Subtract(T % source, int elementOffset);
public static ref T Subtract<T> (ref T source, int elementOffset);
static member Subtract : 'T * int -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As Integer) 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.
- elementOffset
- Int32
Desplazamiento que se va a restar.
Devoluciones
Nuevo puntero administrado que refleja la resta del desplazamiento especificado del puntero de origen.
Comentarios
El elementOffset
parámetro es el número de T
elementos de tamaño (no bytes) que se van a restar del source
puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int
, la llamada Unsafe.Subtract<int>(ref ptr, 20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) antes de ptr.
Si elementOffset
es un valor calculado en lugar de un literal codificado de forma rígida, los llamadores deben considerar la posibilidad de desbordamiento entero. Por ejemplo, en la llamada Unsafe.Subtract<int>(ref ptr, a * b)
a , el llamador debe asegurarse de que el valor a * b
intermedio no desborda los límites de Int32
.
Se aplica a
Subtract<T>(T, IntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Resta un desplazamiento de elemento del puntero administrado especificado.
public:
generic <typename T>
static T % Subtract(T % source, IntPtr elementOffset);
public static ref T Subtract<T> (ref T source, IntPtr elementOffset);
static member Subtract : 'T * nativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset 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.
- elementOffset
-
IntPtr
nativeint
Desplazamiento que se va a restar.
Devoluciones
Nuevo puntero administrado que refleja la resta del desplazamiento especificado del puntero de origen.
Comentarios
El elementOffset
parámetro es el número de T
elementos de tamaño (no bytes) que se van a restar del source
puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int
, la llamada Unsafe.Subtract<int>(ref ptr, (nint)20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) antes de ptr.
Si elementOffset
es un valor calculado en lugar de un literal codificado de forma rígida, los llamadores deben considerar la posibilidad de desbordamiento entero. Por ejemplo, en la llamada Unsafe.Subtract<int>(ref ptr, a * b)
a , el llamador debe asegurarse de que el valor a * b
intermedio no desborda los límites de IntPtr
.
Se aplica a
Subtract<T>(T, UIntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Importante
Esta API no es conforme a CLS.
Resta un desplazamiento de elemento del puntero administrado especificado.
public:
generic <typename T>
static T % Subtract(T % source, UIntPtr elementOffset);
public static ref T Subtract<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Subtract<T> (ref T source, UIntPtr elementOffset);
static member Subtract : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Subtract : 'T * unativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset 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.
- elementOffset
-
UIntPtr
nuint
unativeint
Desplazamiento que se va a restar.
Devoluciones
Nuevo puntero administrado que refleja la resta del desplazamiento especificado del puntero de origen.
- Atributos
Comentarios
El elementOffset
parámetro es el número de T
elementos de tamaño (no bytes) que se van a restar del source
puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int
, la llamada Unsafe.Subtract<int>(ref ptr, (nuint)20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) antes de ptr.
Si elementOffset
es un valor calculado en lugar de un literal codificado de forma rígida, los llamadores deben considerar la posibilidad de desbordamiento entero. Por ejemplo, en la llamada Unsafe.Subtract<int>(ref ptr, a * b)
a , el llamador debe asegurarse de que el valor a * b
intermedio no desborda los límites de UIntPtr
.