Objekte verbinden und gleichzeitig ändern

XtremeCJ

Erfahrenes Mitglied
Ich habe ein Int-Array, das ich in einem struct oder einer class zwischenspeichern möchte. Gleichzeitig hab ich das Objekt noch in einer anderen Klasse. Wenn ich das Objekt in der einen Klasse änder, möchte ich, dass es sich auch in der anderen ändert.

Handles wären eine Lösung, aber die gefällt mir nicht so. .NET muss dafür doch etwas parat haben. Kann mir jemand von euch helfen?
 
Hi

Besser wäre es, ein Liste zu verwenden.
Arrays sind ValueTypes und liegen komplett auf dem Stack. Listen sind ReferenceTypes und du kannst sie von verschiedenen Stellen referenzieren.
 
Wenn ich das Objekt in der einen Klasse änder, möchte ich, dass es sich auch in der anderen ändert.

Wie schon gesagt - da es sich um Referenzen handelt müsste der von dir genannte Effekt von selbst eintreten ;)

Die andere Variante wär wesentlich aufwendiger...

Ich würde aber auch eine Liste nehmen - am einfachsten generisch.
Da müsstest du dann aber mit Integer-Objekten arbeiten. Primitive Datentypen nimmt das Teil nicht an.

lg
 
Da müsstest du dann aber mit Integer-Objekten arbeiten. Primitive Datentypen nimmt das Teil nicht an.

Seit wann?

C#:
List<int> intlist = new List<int>();
intlist.Add(5);
intlist.Add(4);
intlist.Add(3);
intlist.Add(2);
intlist.Add(1);
// funktioniert ^^

Selbst bei nicht generischen Listen gehts, Boxing sei Dank.

C#:
ArrayList list = new ArrayList();

list.Add(5);
list.Add(4);
list.Add(3);
list.Add(2);
list.Add(1);
// funktioniert ^^ Boxing machts möglich. ;)

lg,..
 

Ich schätze seit ich Java und .net verwechselt habe? :)
Sorry...

Werden die teile nich intern doch in objekte gewandelt?
Bin Autoboxing nich gewöhnt :D Und finds ein wenig undurchsichtig wenn man nicht weiß was passiert.
Gehe mal davon aus, dass man ein Integer-Objekt zurück bekommt wenn man getItem(0) macht?

lg
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück