Freigeben über


Unsafe.Copy Methode

Definition

Überlädt

Copy<T>(Void*, T)

Kopiert einen Wert vom Typ T zum angegebenen Speicherort.

Copy<T>(T, Void*)

Kopiert einen Wert vom Typ T zum angegebenen Speicherort.

Copy<T>(Void*, T)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
Quelle:
Unsafe.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Kopiert einen Wert vom Typ T zum angegebenen Speicherort.

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

Typparameter

T

Der Typ des zu kopierenden Werts.

Parameter

destination
Void*

Der Speicherort, an den kopiert werden soll.

source
T

Ein Verweis auf den zu kopierenden Wert.

Attribute

Hinweise

Es wird davon ausgegangen, dass sowohl als source auch destination für Zeiger auf Daten vom Typ Trichtig ausgerichtet sind. Weitere Informationen zu Ausrichtungsannahmen finden Sie unter ECMA-335, Abschnitt I.12.6.2 ("Ausrichtung").

Diese Methode entspricht ungefähr dem folgenden Code.

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

Gilt für:

Copy<T>(T, Void*)

Quelle:
Unsafe.cs
Quelle:
Unsafe.cs
Quelle:
Unsafe.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Kopiert einen Wert vom Typ T zum angegebenen Speicherort.

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

Typparameter

T

Der Typ des zu kopierenden Werts.

Parameter

destination
T

Der Speicherort, an den kopiert werden soll.

source
Void*

Ein Zeiger auf den zu kopierenden Wert.

Attribute

Hinweise

Es wird davon ausgegangen, dass sowohl als source auch destination für Zeiger auf Daten vom Typ Trichtig ausgerichtet sind. Weitere Informationen zu Ausrichtungsannahmen finden Sie unter ECMA-335, Abschnitt I.12.6.2 ("Ausrichtung").

Diese Methode entspricht ungefähr dem folgenden Code.

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

Gilt für: