Ich habe das Gefühl, dass all diese "besseren Möglichkeiten, ein Array zu kopieren", Ihr Problem nicht wirklich lösen werden.
Sie sagen
Ich habe eine for-Schleife wie [...] versucht, aber das scheint nicht richtig zu funktionieren?
Wenn man sich diese Schleife ansieht, gibt es kein offensichtlicher Grund dass es nicht funktioniert ... es sei denn:
- Sie haben irgendwie die
a
y b
Arrays durcheinander gebracht (z.B. a
y b
auf das gleiche Array verweisen), oder
- Ihre Anwendung wird von mehreren Threads durchlaufen und verschiedene Threads lesen und aktualisieren die
a
Array gleichzeitig.
In beiden Fällen lösen alternative Kopierverfahren das eigentliche Problem nicht.
Die Lösung für das erste Szenario ist offensichtlich. Für das zweite Szenario müssen Sie eine Möglichkeit zur Synchronisierung der Threads finden. Atomare Array-Klassen helfen nicht, da sie keine atomaren Kopierkonstruktoren oder Klon-Methoden haben, aber die Synchronisierung mit einem primitiven Mutex wird den Trick erfüllen.
(Es gibt Hinweise in Ihrer Frage, die mich vermuten lassen, dass dies tatsächlich mit dem Thema zusammenhängt; z. B. Ihre Aussage, dass a
ändert sich ständig).