Unsafe.Copy 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| Copy<T>(Void*, T) |
将类型的 |
| Copy<T>(T, Void*) |
将类型的 |
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;
}