Variable kopieren (Referenz Wert)

17/09/2008 - 12:53 von Matthias Springer | Report spam
Hallo,

In meinem Projekt habe ich eine eigene Struktur (struct) erstellt. Jetzt
habe ich zwei Variablen x1 und x2 vom Typ eigene_struktur.

eigene_struktur x1 = new eigene_struktur();

Die Variable x2 enthàlt bereits zuvor ausgewertete Daten, die nicht
veràndern werden dürfen.

Jetzt sollen die Daten aus x2 in x1 kopiert werden.

x1 = x2;

Nun will ich etwas an x1 àndern:

x1.wert1 = 1234;

Dabei darf sich der x2.wert1 allerdings nicht àndern. Wie kann ich
sicherstellen, dass mir .NET keine Referenz auf x2 erstellt, sondern die
Variable komplett kopiert?

Vielen Dank im Vorraus.

Gruß,
Matthias
 

Lesen sie die antworten

#1 Frank Dzaebel
17/09/2008 - 13:13 | Warnen spam
Hallo Matthias,

Jetzt sollen die Daten aus x2 in x1 kopiert werden.
... Nun will ich etwas an x1 àndern:
Dabei darf sich der x2.wert1 allerdings nicht àndern.
Wie kann ich sicherstellen, dass mir .NET keine
Referenz auf x2 erstellt, sondern die
Variable komplett kopiert?



Das ist bereits sichergestellt.
Ein struct ist ein Wertetyp.
Wenn Du eine Werttypvariable einer anderen
zuweist, wird der enthaltene *Wert* (by value)
kopiert, nicht die Referenz.

[Werttypen (C#-Referenz)]
http://msdn.microsoft.com/de-de/lib...x56ch.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen