PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pointer/Referenzen in C#


Durcairion
2007-09-06, 23:21:13
Ich arbeite mich gerade in C# ein und frage mich gerade ob es sowas wie Pointer/Referenzen überhaupt noch gibt?

Wie realisiere ich z.B. eine DoppeltVerkettete Liste in der ich Referenzen auf andere Objekte halten muss?

Monger
2007-09-06, 23:35:37
In C# ist standardmäßig mal alles eine Referenz, und beim Methodenaufruf werden die Objektreferenzen kopiert - es sei denn, du machst es explizit anders, was aber nicht empfehlenswert ist...

Kompliziertes Thema. Wenn du noch nicht mit der CLR beschäftigt hast und wie sie Objekte verwaltet, solltest du das nachholen.

Gast
2007-09-07, 00:12:35
In C# ist standardmäßig mal alles eine Referenz, und beim Methodenaufruf werden die Objektreferenzen kopiert

Objekt Referenzen werden nur bei Referenztypen kopiert, nicht aber bei Wertetypen. Dort wird natürlich eine komplette Kopie vom Objekt erstellt.

AlSvartr
2007-09-07, 00:45:37
Pointer gibt es auch noch, wenn ich mich nicht irre, muss man den entsprechenden Code dann als unsafe markieren.

Novox/Work
2007-09-07, 10:23:21
Wie realisiere ich z.B. eine DoppeltVerkettete Liste in der ich Referenzen auf andere Objekte halten muss?


Über Referenzen eben ;)


class LinkedListNode<T>
{
LinkedListNode<T> previous;
LinkedListNode<T> next;
T nodeValue;

// ... etc.
}

Elemental
2007-09-07, 11:28:52
Und für die value types gibts da noch die 'ref' und 'out' keywords bei der Methodenübergabe...