Lets sagen, ich habe 2D-Array von Wörterbüchern bekam:2D-Array von Wörterbüchern - Kopieren
public Dictionary<int, string>[,] mat = new Dictionary<int, string>[3, 5]
{
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() }
}
Und ich muss diese in eine andere kopieren. Ich habe alles versucht.
Etwas wie:
matNew = mat;
Aber immer noch, wenn ich die erste Änderung, wird es automatisch die zweite ändern.
Ich weiß wirklich nicht, wie man das macht.
Man ändert sich und das andere auch, also sagen Sie, Sie wollen stattdessen eine tiefe Kopie? – payo
@payo - Ja, genau. –
Array ist ein Referenztyp; "mat" ist nur eine Referenz auf die Instanz, und "matNew = mat" kopiert die Referenz, nicht das eigentliche Array. Versuchen Sie, eine Kopie des Arrays oder eine Kopie des Arrays und aller darin enthaltenen Wörterbücher zu erstellen? –