Unsafe.Add Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
Add<T>(Void*, Int32) |
Adiciona um deslocamento de elemento ao ponteiro não gerenciado fornecido. |
Add<T>(T, Int32) |
Adiciona um deslocamento ao ponteiro gerenciado fornecido. |
Add<T>(T, IntPtr) |
Adiciona um deslocamento de elemento ao ponteiro gerenciado fornecido. |
Add<T>(T, UIntPtr) |
Adiciona um deslocamento de elemento ao ponteiro gerenciado fornecido. |
Add<T>(Void*, Int32)
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
Importante
Esta API não está em conformidade com CLS.
Adiciona um deslocamento de elemento ao ponteiro não gerenciado fornecido.
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
O tipo cujo tamanho será usado como um fator de escala para elementOffset
.
Parâmetros
- source
- Void*
O ponteiro não gerenciado ao qual adicionar o deslocamento.
- elementOffset
- Int32
O deslocamento a ser adicionado.
Retornos
Um novo ponteiro não gerenciado que reflete a adição do deslocamento especificado ao ponteiro de origem.
- Atributos
Comentários
O elementOffset
parâmetro é o número de T
elementos de tamanho (não bytes) a serem adicionados ao source
ponteiro. Por exemplo, dado um ponteiro de origem ptr, a chamada Unsafe.Add<int>(ptr, 20)
retornará um novo ponteiro cujo endereço aponta 80 bytes (= 20 elementos * 4 bytes por elemento) além de ptr.
Se elementOffset
for um valor calculado em vez de um literal codificado, os chamadores deverão considerar a possibilidade de estouro inteiro. Por exemplo, na chamada Unsafe.Add<int>(ptr, a * b)
, o chamador deve garantir que o valor a * b
intermediário não estoura os limites de Int32
.
Aplica-se a
Add<T>(T, Int32)
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
Adiciona um deslocamento ao ponteiro gerenciado fornecido.
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
O tipo elemental do ponteiro gerenciado.
Parâmetros
- source
- T
O ponteiro gerenciado ao qual adicionar o deslocamento.
- elementOffset
- Int32
O deslocamento a ser adicionado.
Retornos
Um novo ponteiro gerenciado que reflete a adição do deslocamento especificado ao ponteiro de origem.
Comentários
O elementOffset
parâmetro é o número de T
elementos de tamanho (não bytes) a serem adicionados ao source
ponteiro. Por exemplo, dado um ponteiro de origem ptr do tipo ref int
, a chamada Unsafe.Add<int>(ref ptr, 20)
retornará um novo ponteiro cujo endereço aponta 80 bytes (= 20 elementos * 4 bytes por elemento) além de ptr.
Se elementOffset
for um valor calculado em vez de um literal codificado, os chamadores deverão considerar a possibilidade de estouro inteiro. Por exemplo, na chamada Unsafe.Add<int>(ref ptr, a * b)
, o chamador deve garantir que o valor a * b
intermediário não estoura os limites de Int32
.
Aplica-se a
Add<T>(T, IntPtr)
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
Adiciona um deslocamento de elemento ao ponteiro gerenciado fornecido.
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
O tipo elemental do ponteiro gerenciado.
Parâmetros
- source
- T
O ponteiro gerenciado ao qual adicionar o deslocamento.
- elementOffset
-
IntPtr
nativeint
O deslocamento a ser adicionado.
Retornos
Um novo ponteiro gerenciado que reflete a adição do deslocamento especificado ao ponteiro de origem.
Comentários
O elementOffset
parâmetro é o número de T
elementos de tamanho (não bytes) a serem adicionados ao source
ponteiro. Por exemplo, dado um ponteiro de origem ptr do tipo ref int
, a chamada Unsafe.Add<int>(ref ptr, (nint)20)
retornará um novo ponteiro cujo endereço aponta 80 bytes (= 20 elementos * 4 bytes por elemento) além de ptr.
Se elementOffset
for um valor calculado em vez de um literal codificado, os chamadores deverão considerar a possibilidade de estouro inteiro. Por exemplo, na chamada Unsafe.Add<int>(ref ptr, a * b)
, o chamador deve garantir que o valor a * b
intermediário não estoura os limites de IntPtr
.
Aplica-se a
Add<T>(T, UIntPtr)
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
- Origem:
- Unsafe.cs
Importante
Esta API não está em conformidade com CLS.
Adiciona um deslocamento de elemento ao ponteiro gerenciado fornecido.
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
O tipo elemental do ponteiro gerenciado.
Parâmetros
- source
- T
O ponteiro gerenciado ao qual adicionar o deslocamento.
- elementOffset
-
UIntPtr
nuint
unativeint
O deslocamento a ser adicionado.
Retornos
Um novo ponteiro gerenciado que reflete a adição do deslocamento especificado ao ponteiro de origem.
- Atributos
Comentários
O elementOffset
parâmetro é o número de T
elementos de tamanho (não bytes) a serem adicionados ao source
ponteiro. Por exemplo, dado um ponteiro de origem ptr do tipo ref int
, a chamada Unsafe.Add<int>(ref ptr, (nuint)20)
retornará um novo ponteiro cujo endereço aponta 80 bytes (= 20 elementos * 4 bytes por elemento) além de ptr.
Se elementOffset
for um valor calculado em vez de um literal codificado, os chamadores deverão considerar a possibilidade de estouro inteiro. Por exemplo, na chamada Unsafe.Add<int>(ref ptr, a * b)
, o chamador deve garantir que o valor a * b
intermediário não estoura os limites de UIntPtr
.