Wie kann ich einen Teil eines Arrays in ein anderes Array kopieren?
Betrachten Sie, ich habe
int[] a = {1,2,3,4,5};
Wenn ich nun den Startindex und den Endindex des Arrays gebe a
, sollte es in ein anderes Array kopiert werden.
Wenn ich den Startindex als 1 und den Endindex als 3 gebe, sollten die Elemente 2, 3, 4 in das neue Array kopiert werden.
Siehe diese Frage . LINQ Take () und Skip () sind die beliebtesten Antworten sowie Array.CopyTo ().
Eine angeblich schnellere Erweiterungsmethode wird hier beschrieben .
quelle
Wobei Array eine Klasse mit der Methode Copy ist, die das Element eines Arrays in ein b-Array kopiert.
Beim Kopieren von einem Array in ein anderes Array müssen Sie denselben Datentyp für ein anderes Array angeben, von dem Sie kopieren.
quelle
Hinweis: Bei dieser Frage wurde nach einem der Schritte in der Antwort zum Ändern der Größe eines vorhandenen Arrays gesucht .
Daher dachte ich, ich würde diese Informationen hier hinzufügen, falls jemand anderes nach einer Fernkopie als Teilantwort auf die Frage nach der Größenänderung eines Arrays suchen sollte.
Für alle anderen, die diese Frage finden und nach dem suchen, was ich war, ist es sehr einfach:
Dabei ist T der Typ, dh wo arrayVariable deklariert ist:
Diese Methode behandelt Nullprüfungen sowie newSize == oldSize, die keine Auswirkung haben, und behandelt natürlich stillschweigend den Fall, in dem eines der Arrays länger als das andere ist.
Weitere Informationen finden Sie im MSDN-Artikel .
quelle
Für den Fall, dass Sie Ihre eigene Array.Copy- Methode implementieren möchten .
Statische Methode vom generischen Typ.
Implementierung der Grenzmethode.
quelle