Zu COBOL Zeiten gab es ein MOVE CORRESPONDING.
Solltest du mit einer Kanone auf Spatzen schießen wollen, könntest du Properties machen und via
RTTI zusammengehörige Felder zuweisen.
Solltest du ganz hässlichen Code produzieren wollen, könntest du überlegen, dass i,j und pt alle am selben Offset im Speicher stehen, du könntest also einfach einen Speicherbereich via Offset und Länge kopieren.
Im Übrigen sind alle anderen erwähnten Lösungen natürlich viel besser!
Uups. Zwischenzeitlich ist Variante 1 tatsächlich vorgeschlagen worden. Wow.