Unsafe.AddByteOffset Método

Definición

Sobrecargas

AddByteOffset<T>(T, IntPtr)

Agrega un desplazamiento de bytes al puntero administrado especificado.

AddByteOffset<T>(T, UIntPtr)

Agrega un desplazamiento de bytes al puntero administrado especificado.

AddByteOffset<T>(T, IntPtr)

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

Agrega un desplazamiento de bytes al puntero administrado especificado.

C#
public static ref T AddByteOffset<T> (ref T source, IntPtr byteOffset);

Parámetros de tipo

T

Tipo elemental del puntero administrado.

Parámetros

source
T

Puntero administrado al que se va a agregar el desplazamiento.

byteOffset
IntPtr

Desplazamiento que se va a sumar.

Devoluciones

T

Nuevo puntero administrado que refleja la adición del desplazamiento de bytes especificado al puntero de origen.

Comentarios

El byteOffset parámetro es el número de bytes que se van a agregar al source puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int, la llamada Unsafe.AddByteOffset<int>(ref ptr, 20) devolverá un nuevo puntero cuyos puntos de dirección 20 bytes más allá 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.AddByteOffset<int>(ref ptr, a * b)debe asegurarse de que el valor a * b intermedio no desborda los límites de IntPtr.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided)
.NET Standard 2.0 (package-provided)

AddByteOffset<T>(T, UIntPtr)

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

Importante

Esta API no es conforme a CLS.

Agrega un desplazamiento de bytes al puntero administrado especificado.

C#
public static ref T AddByteOffset<T> (ref T source, nuint byteOffset);
C#
[System.CLSCompliant(false)]
public static ref T AddByteOffset<T> (ref T source, UIntPtr byteOffset);

Parámetros de tipo

T

Tipo elemental del puntero administrado.

Parámetros

source
T

Puntero administrado al que se va a agregar el desplazamiento.

byteOffset

nuint

Desplazamiento que se va a sumar.

Devoluciones

T

Nuevo puntero administrado que refleja la adición del desplazamiento de bytes especificado al puntero de origen.

Atributos

Comentarios

El byteOffset parámetro es el número de bytes que se van a agregar al source puntero. Por ejemplo, dado un puntero de origen ptr de tipo ref int, la llamada Unsafe.AddByteOffset<int>(ref ptr, (nuint)20) devolverá un nuevo puntero cuyos puntos de dirección 20 bytes más allá 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.AddByteOffset<int>(ref ptr, a * b)debe asegurarse de que el valor a * b intermedio no desborda los límites de UIntPtr.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET 6, 7, 8, 9
.NET Framework 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided)
.NET Standard 2.0 (package-provided)