Gibt es eine schnelle Möglichkeit, eine generische TList zu kopieren?
%Vor% ist sehr langsam. Es scheint keine Möglichkeit zu geben, CopyMemory
zu verwenden, da ich die Speicheradresse des internen Arrays nicht erhalten kann (was aus einem Informationsverschleierungspunkt offensichtlich ist). Ich vermisse etwas wie
verwendet das Wissen der internen Repräsentation, um die Leistung zu verbessern. Kann es getan werden?
Für das generische TList<T>
ist es einfach nicht möglich, die gewünschte Funktion zu implementieren. Das liegt daran, dass der Inhalt von T
mehr als eine einfache Speicherkopie enthalten kann. Wenn T
verwaltete Typen (d. H. Zeichenfolgen, Schnittstellen usw.) enthält, müssen die Referenzzählungen für diese verwalteten Objekte inkrementiert werden.
T
verwaltete Typen enthält, bezweifle ich, dass Sie viel besser als der Code, den Sie bereits haben, tun können. T
keine verwalteten Typen enthält, ist eine Speicherkopie möglich, aber Sie müssen Ihre eigene Klasse erstellen, um diese Liste zu kapseln, da TList<T>
nicht geeignet ist. Tags und Links delphi delphi-xe collections