Unsafe.Copy Метод

Определение

Перегрузки

Имя Описание
Copy<T>(Void*, T)

Копирует значение типа T в заданное расположение.

Copy<T>(T, Void*)

Копирует значение типа T в заданное расположение.

Copy<T>(Void*, T)

Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs

Важно!

Этот API несовместим с CLS.

Копирует значение типа T в заданное расположение.

public:
generic <typename T>
 static void Copy(void* destination, T % source);
[System.CLSCompliant(false)]
public static void Copy<T>(void* destination, ref readonly T source) where T : allows ref struct;
public static void Copy<T>(void* destination, ref T source);
[System.CLSCompliant(false)]
public static void Copy<T>(void* destination, ref T source);
[System.CLSCompliant(false)]
public static void Copy<T>(void* destination, ref readonly T source);
[<System.CLSCompliant(false)>]
static member Copy : nativeptr<unit> * 'T -> unit
static member Copy : nativeptr<unit> * 'T -> unit

Параметры типа

T

Тип копируемого значения.

Параметры

destination
Void*

Расположение для копирования.

source
T

Ссылка на значение для копирования.

Атрибуты

Комментарии

destination source Предполагается правильное выравнивание указателей на данные типаT. Дополнительные сведения о допущениях выравнивания см. в разделе ECMA-335, Sec. I.12.6.2 ("Выравнивание").

Этот метод примерно эквивалентен следующему коду.

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

Применяется к

Copy<T>(T, Void*)

Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs

Важно!

Этот API несовместим с CLS.

Копирует значение типа T в заданное расположение.

public:
generic <typename T>
 static void Copy(T % destination, void* source);
[System.CLSCompliant(false)]
public static void Copy<T>(ref T destination, void* source) where T : allows ref struct;
public static void Copy<T>(ref T destination, void* source);
[System.CLSCompliant(false)]
public static void Copy<T>(ref T destination, void* source);
[<System.CLSCompliant(false)>]
static member Copy : 'T * nativeptr<unit> -> unit
static member Copy : 'T * nativeptr<unit> -> unit

Параметры типа

T

Тип копируемого значения.

Параметры

destination
T

Расположение для копирования.

source
Void*

Указатель на значение для копирования.

Атрибуты

Комментарии

destination source Предполагается правильное выравнивание указателей на данные типаT. Дополнительные сведения о допущениях выравнивания см. в разделе ECMA-335, Sec. I.12.6.2 ("Выравнивание").

Этот метод примерно эквивалентен следующему коду.

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

Применяется к