Verkettete Listen (ref nötig?)
-
Also ich versuche mich grade an einfach verkettete listen mit c#.
Nur stehe ich auf dem Schlauch und weiß nicht ob ich jetzt ref benötige oder nicht.Wenn ich jetzt so etwas mache:
... class Program { static void Main(String[] args) { foo f = new foo(); foo abc = new foo(); f = abc; } } class foo { }
Hier wird doch nur die Klasse abc nach f kopiert, also von den Attributen die Inhalte kopiert, statt auf abc zu verweisen.
Ist ref mit Klassen eigentlich verwendbar?
mfg spacemuck
-
f und abc sind zwei Referenzen auf 2 unterschiedliche Objekte.
Nach der Zuweisung f = abc, verweisen beide auf das zuletzt erstellte Objekt, während das andere nicht mehr referenziert wird.
Kopiert wird nur die Referenz, nicht das Objekt.
-
Kenne die Verketteten Listen nur mit Pointer aus C/C++. Soweit ich weiß gibt es ja diese in C# nicht mehr (außer über unsafe-code).
thx
-
Mit den Referenzen hast du doch in Prinzip Pointer. Genau wie Pointer zeigen Referenzen auf ein Objekt. Du solltest dir mal den Unterschied zwischen Wertetypen(valuetypes) und Referenztypen(referecetypes) in .Net anschaun. Je nachdem ob du nämlich nen Wertetyp oder nen Referenztyp in die Liste packst brauchst du nen ref oder nicht.
-
huhu,
schau dir mal ArrayList, Queue, Stack, SortetList, Hashtable an
gruß
alex