Benutzer mit den meisten Antworten
Referenz übergeben

Frage
-
Hi,
ich habe ein merkwürdiges Verhalten entdeckt.
Eigentlich müsste P2 einfach nur eine Referenz auf P1 sein, aber es werden 2 Unabhängie Objekte erzeugt. Habe ich etwas Übersehen oder ist das ein riesiger Bug in VC#???using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace testconsolecs { class Program { public struct Point { public int X, Y;} static void Main(string[] args) { Point P1 = new Point(); Point P2 = P1; P1.X = 6; P2.X = 8; P2.Y = 99; } } }
Antworten
-
Hallo Brian,
Ein Point ist ein WerteTyp (nämlich ein struct) im Gegensatz zu Referenztypen.
Zitat: "Wenn Sie eine Werttypvariable einer anderen zuweisen, wird der enthaltene Wert kopiert. Beim Zuweisen von Verweistypvariablen ist dies anders. Hierbei wird ein Verweis auf das Objekt kopiert, aber nicht das Objekt selbst." [Referenz]
[Eine kleine Typenlehre]
http://msdn.microsoft.com/de-de/library/cc749744.aspx
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 31. März 2011 11:07
-
Hallo Brian
Strukturen 'struct' sind Wertetypen, werden daher 'by value' behandelt (hier: Kopie)
(also nicht als Referenz, wie Verweistyp zB bei 'class').
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 31. März 2011 11:07
Alle Antworten
-
Hallo Brian
Strukturen 'struct' sind Wertetypen, werden daher 'by value' behandelt (hier: Kopie)
(also nicht als Referenz, wie Verweistyp zB bei 'class').
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 31. März 2011 11:07
-
Hallo Brian,
Ein Point ist ein WerteTyp (nämlich ein struct) im Gegensatz zu Referenztypen.
Zitat: "Wenn Sie eine Werttypvariable einer anderen zuweisen, wird der enthaltene Wert kopiert. Beim Zuweisen von Verweistypvariablen ist dies anders. Hierbei wird ein Verweis auf das Objekt kopiert, aber nicht das Objekt selbst." [Referenz]
[Eine kleine Typenlehre]
http://msdn.microsoft.com/de-de/library/cc749744.aspx
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 31. März 2011 11:07