Thread: C# Objecten 'verbonden' ?
-
25-11-2011, 20:28 #1Member
- Registered
- 12/12/02
- Location
- Gemeente
- Posts
- 6,034
- iTrader
- 15 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/111
C# Objecten 'verbonden' ?
Ik was mijn code aan het opschonen, en ik heb iets vreemd voor. Het werkt terwijl het niet zou moeten werken

Ik maak een object aan. Ik steek dat object in een lijst. Ik steek datzelfde object ook ergens anders in. Ik maak een object aan van een andere klasse, en daar steek ik dat eerst object dus in. Als ik in mijn lijst dat object aanpas, verandert dat dan ook op die andere plaats?
Lees spoiler als mijn uitleg vaag is
Spoiler:
Ik heb geen andere verklaring voor het gedrag van mijn programma, ik ben mijn kop hierover aant breken
Last edited by Rage; 25-11-2011 at 20:36.
no votes
-
-
25-11-2011, 20:38 #2Member
- Registered
- 04/11/03
- Location
- Wervik
- Posts
- 1,901
- iTrader
- 35 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/14
zelfgemaakte objecten (klasses dus) zijn referentietypes.
Dus, als ge een object van een referentietype gaat opslaan in twee verschillende lijsten, dan bevatten die lijsten geen kopie van dat object, maar een adresverwijzing naar dat object. Het gevolg is dan dat beide lijsten een 'link' bevatten naar hetzelfde object. Dus, als ge 't object wijzigt in de eerste lijst, dan zal het ook gewijzigd worden in de tweede lijst, simpelweg omdat het eigenlijk maar 1 object is die wordt gewijzigd (want beide lijsten bevatten gewoon een link naar het origineel toegevoegde object)
Dit wat snel uitgelegd
begrijp je wat ik bedoel?
no votes
-
26-11-2011, 11:47 #3Approved 9-lifer
- Registered
- 27/08/04
- Location
- Leuven
- Posts
- 930
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 11/38
Misschien helpt het om er op de volgende manier over na te denken: een object op zich is een doosje met daarin wat informatie. Een variabele met daaraan dat object toegewezen is een pijl die wijst naar dat doosje. Variabelen met hetzelfde object daaraan toegewezen wijzen allemaal naar hetzelfde doosje. Iets aanpassen aan een variabele is die pijl volgen en het aanpassen in het doosje naar waar het leidt.
Uitzondering zijn de primitieve types zoals int en structures.Last edited by NeverwinterX; 26-11-2011 at 13:34.
I am thee and thou art me and all of one is the other.
TED talk: Richard Dawkins on militant atheismno votes
-
26-11-2011, 13:15 #4Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Je zou het ook gewoon kunnen testen door een object aan te maken, dat in 2 lijsten te steken, er eentje aan te passen en te kijken wat er met dat object in de andere lijst is gebeurd. Maar dat was wel érg ver gezocht uiteraard
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
26-11-2011, 16:15 #5Member
- Registered
- 12/12/02
- Location
- Gemeente
- Posts
- 6,034
- iTrader
- 15 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/111
Destizer zijn uitleg was voldoende, het is dus wat ik vermoedde.
Het is duidelijk nu, bedankt!
Cycloon: ge hebt gelijk, dat had ik kunnen doen.no votes
