Ich habe eine Frage zum Speichern von vielen Arrays in einer Liste.Speichern von vielen Arrays in einer Liste auf jeder Schleife
Zuerst initialisiert I das Array und die Liste:
int[] arr = new int[9];
List<int[]> forkarr = new List<int[]>();
dann betreibe ich durch eine Menge von für Schleifen und modifizieren, um die Anordnung jedes Mal, um alle möglichen Tic Tac Toe-Variationen zu erzeugen. Beim Durchlaufen all dieser Variationen, wenn das Array ein mögliches Board ist, dann drucke ich es, und zusätzlich, wenn das Array bestimmte Kriterien erfüllt, um ein "Fork" zu sein, füge ich es der Liste folgendermaßen hinzu:
if (ForkCheck.fork(arr)) { forkarr.Add(arr); Console.WriteLine("It's a Fork!");}
, die auch diese Nachricht druckt, die Ihnen mitteilt, dass ein bestimmtes Array ein Fork ist.
Jetzt, wenn ich alle Arrays drucke, werden diejenigen, die Gabeln sind, richtig gedruckt und als solche gekennzeichnet.
Allerdings, wenn ich gehen alle der int [] Elemente meiner Liste forkarr auszudrucken wie so:
foreach (int[] arry in forkarr)
{
PrintGame.print(arry);//this is my method that prints the array
Console.WriteLine();
}
aus irgendeinem Grund jedes Array wird ein identisches:
222
222
222
(Ich benutze 2 als 'X' und 1 als 'O' und 0 als 'leer' btw)
Und es druckt das immer und immer wieder für alle Gabeln.
So etwas läuft falsch, wenn ich jede Änderung des Arrays als ein neues Element in der Liste hinzufügen, denke ich, aber ich bin mir nicht sicher warum.
Danke für jede Hilfe.
vielen Dank! Ich dachte, es wäre etwas Einfaches – Schweeb