Unsafe.Copy Método

Definição

Sobrecargas

Copy<T>(Void*, T)

Copia um valor do tipo T para o local em questão.

Copy<T>(T, Void*)

Copia um valor do tipo T para o local em questão.

Copy<T>(Void*, T)

Origem:
Unsafe.cs
Origem:
Unsafe.cs
Origem:
Unsafe.cs

Importante

Esta API não está em conformidade com CLS.

Copia um valor do tipo T para o local em questão.

public static void Copy<T> (void* destination, ref T source);
[System.CLSCompliant(false)]
public static void Copy<T> (void* destination, ref T source);

Parâmetros de tipo

T

O tipo de valor a ser copiado.

Parâmetros

destination
Void*

O local para o qual copiar.

source
T

Uma referência ao valor a ser copiado.

Atributos

Comentários

Tanto quanto destinationsource são considerados alinhados corretamente para ponteiros para dados do tipo T. Para obter mais informações sobre suposições de alinhamento, consulte ECMA-335, S. I.12.6.2 ("Alinhamento").

Esse método é aproximadamente equivalente ao código a seguir.

static void Copy<T>(void* destination, ref T source)
{
  T data = source; // dereference source
  *(T*)destination = data;
}

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 3.0, Core 3.1, 5, 6, 7, 8, 9

Copy<T>(T, Void*)

Origem:
Unsafe.cs
Origem:
Unsafe.cs
Origem:
Unsafe.cs

Importante

Esta API não está em conformidade com CLS.

Copia um valor do tipo T para o local em questão.

public static void Copy<T> (ref T destination, void* source);
[System.CLSCompliant(false)]
public static void Copy<T> (ref T destination, void* source);

Parâmetros de tipo

T

O tipo de valor a ser copiado.

Parâmetros

destination
T

O local para o qual copiar.

source
Void*

Um ponteiro para o valor a ser copiado.

Atributos

Comentários

Tanto quanto destinationsource são considerados alinhados corretamente para ponteiros para dados do tipo T. Para obter mais informações sobre suposições de alinhamento, consulte ECMA-335, S. I.12.6.2 ("Alinhamento").

Esse método é aproximadamente equivalente ao código a seguir.

static void Copy<T>(ref T destination, void* source)
{
  T data = *(T*)source; // reinterpret cast source as T* and dereference
  destination = data;
}

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 3.0, Core 3.1, 5, 6, 7, 8, 9