Hallo!
Ich dachte die ganze Zeit, dass C# die Werte nur flach speichert (d.h. im Hintergrund die Referenzen, die im Grunde Pointer sind).
Offensichtlich ist es mit den Elementen von Arrays und Listen nicht so, wie das folgende Beispiel zeigt:
Erst wird dem ersten Elemen von ar der Wert "davor" zugewiesen, nach der 2. Zuweisung, obwohl der Wert von strSource sich geändert hat, bleibt ar[0] == "davor".
Ich suche nach einer Möglichkeit, dass sich der Wert des Arrays auch ändert, wenn ich den Wert der Quelle ändere (im Beispile wäre das, dass ar[0] auf "danach" gesetzt werde).
Kennt jemand eine Lösung dazu oder ist es eine unveränderbare Eigenschaft?
Dank im voraus, Alex.
Ich dachte die ganze Zeit, dass C# die Werte nur flach speichert (d.h. im Hintergrund die Referenzen, die im Grunde Pointer sind).
Offensichtlich ist es mit den Elementen von Arrays und Listen nicht so, wie das folgende Beispiel zeigt:
Code:
string strSource = "davor"; string[] ar = new string[2]; ar[0] = strSource; strSource = "danach";
Ich suche nach einer Möglichkeit, dass sich der Wert des Arrays auch ändert, wenn ich den Wert der Quelle ändere (im Beispile wäre das, dass ar[0] auf "danach" gesetzt werde).
Kennt jemand eine Lösung dazu oder ist es eine unveränderbare Eigenschaft?
Dank im voraus, Alex.
Comment