Unsafe.Add 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
Add<T>(Void*, Int32) |
Agrega un desplazamiento de elemento al puntero no administrado especificado. |
Add<T>(T, Int32) |
Agrega un desplazamiento al puntero administrado especificado. |
Add<T>(T, IntPtr) |
Agrega un desplazamiento de elemento al puntero administrado especificado. |
Add<T>(T, UIntPtr) |
Agrega un desplazamiento de elemento al puntero administrado especificado. |
Add<T>(Void*, Int32)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Importante
Esta API no es conforme a CLS.
Agrega un desplazamiento de elemento al puntero no administrado especificado.
public:
generic <typename T>
static void* Add(void* source, int elementOffset);
public static void* Add<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Add<T> (void* source, int elementOffset);
static member Add : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Add : 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 al que se va a agregar el desplazamiento.
- elementOffset
- Int32
Desplazamiento que se va a sumar.
Devoluciones
Nuevo puntero no administrado que refleja la adición del desplazamiento especificado al 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 agregar al source
puntero. Por ejemplo, dado un puntero de origen ptr, la llamada Unsafe.Add<int>(ptr, 20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) más allá 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.Add<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
Add<T>(T, Int32)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Agrega un desplazamiento al puntero administrado especificado.
public:
generic <typename T>
static T % Add(T % source, int elementOffset);
public static ref T Add<T> (ref T source, int elementOffset);
static member Add : 'T * int -> 'T
Public Shared Function Add(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 al que se va a agregar el desplazamiento.
- elementOffset
- Int32
Desplazamiento que se va a sumar.
Devoluciones
Nuevo puntero administrado que refleja la adición del desplazamiento especificado al puntero de origen.
Comentarios
El elementOffset
parámetro es el número de elementos de T
tamaño (no bytes) que se van a agregar al source
puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int
, la llamada Unsafe.Add<int>(ref ptr, 20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) más allá 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.Add<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
Add<T>(T, IntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Agrega un desplazamiento de elemento al puntero administrado especificado.
public:
generic <typename T>
static T % Add(T % source, IntPtr elementOffset);
public static ref T Add<T> (ref T source, IntPtr elementOffset);
static member Add : 'T * nativeint -> 'T
Public Shared Function Add(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 al que se va a agregar el desplazamiento.
- elementOffset
-
IntPtr
nativeint
Desplazamiento que se va a sumar.
Devoluciones
Nuevo puntero administrado que refleja la adición del desplazamiento especificado al puntero de origen.
Comentarios
El elementOffset
parámetro es el número de elementos de T
tamaño (no bytes) que se van a agregar al source
puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int
, la llamada Unsafe.Add<int>(ref ptr, (nint)20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) más allá 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.Add<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
Add<T>(T, UIntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
Importante
Esta API no es conforme a CLS.
Agrega un desplazamiento de elemento al puntero administrado especificado.
public:
generic <typename T>
static T % Add(T % source, UIntPtr elementOffset);
public static ref T Add<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Add<T> (ref T source, UIntPtr elementOffset);
static member Add : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Add : 'T * unativeint -> 'T
Public Shared Function Add(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 al que se va a agregar el desplazamiento.
- elementOffset
-
UIntPtr
nuint
unativeint
Desplazamiento que se va a sumar.
Devoluciones
Nuevo puntero administrado que refleja la adición del desplazamiento especificado al 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 agregar al source
puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int
, la llamada Unsafe.Add<int>(ref ptr, (nuint)20)
devolverá un nuevo puntero cuyos puntos de dirección 80 bytes (= 20 elementos * 4 bytes por elemento) más allá 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.Add<int>(ref ptr, a * b)
a , el llamador debe asegurarse de que el valor a * b
intermedio no desborda los límites de UIntPtr
.