Compartir a través de


Unsafe.Add Método

Definición

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

Void*

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 Ttamañ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

T

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 Ttamañ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

T

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 Ttamañ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

T

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 Ttamañ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.

Se aplica a