Unsafe.Copy 方法

定义

重载

名称 说明
Copy<T>(Void*, T)

将类型的 T 值复制到给定位置。

Copy<T>(T, Void*)

将类型的 T 值复制到给定位置。

Copy<T>(Void*, T)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
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

对要复制的值的引用。

属性

注解

source两者都destination假定正确对齐,以便指针指向类型的T数据。 有关对齐假设的详细信息,请参阅 ECMA-335、Sec. I.12.6.2(“Alignment”)。

此方法大致等效于以下代码。

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

适用于

Copy<T>(T, Void*)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
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*

指向要复制的值的指针。

属性

注解

source两者都destination假定正确对齐,以便指针指向类型的T数据。 有关对齐假设的详细信息,请参阅 ECMA-335、Sec. I.12.6.2(“Alignment”)。

此方法大致等效于以下代码。

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

适用于