Avatar billede lasserasch Juniormester
15. september 2010 - 01:24 Der er 4 kommentarer og
1 løsning

Objekt spørgsmål

Hurtigt spørgsmål:

1. Form1 har et objekt vi kalder A.
2. Form2 har et objekt vi kalder B.
3. Form1 opretter en instans af form 2 og sætter B = A.
4. På form2 kaldes noget noget kode som retunerer et objekt vi kalder C.
5. Jeg sætter nu B = C.

B bliver fint = C, men A bliver ikke li med C. Burde det ikke blive det, når nu jeg allerede har sat at B = A?


Mvh.
Lasse
Avatar billede arne_v Ekspert
15. september 2010 - 01:31 #1
Nej.

A ligger ligger på adresse 1000
B ligger ligger på adresse 1004
C ligger ligger på adresse 1008
du creater et bject på adresse 2000
du gemmer værdien 2000 i adresse 1000
du kopierer indholdet af adresse 1000 til adresse 1004
du create et object på adresse 2000
du gemmer værdien 2000 i adresse 1008
du kopierer indholdet af adresse 1008 til adresse 1004

hvad indeholder adresse 1000 ?
Avatar billede Syska Mester
15. september 2010 - 01:32 #2
Nej, da det er reference types.

Dvs du ændre kun hvad din reference type pejer på.

Hvis du vil gøre det sådan, skal du have en container class, du sender rundt ... og så ændre en variable inde i den.

mvh
Avatar billede arne_v Ekspert
15. september 2010 - 01:42 #3
(de to sidste 2000 skulle være 2100)
Avatar billede lasserasch Juniormester
11. oktober 2010 - 21:30 #4
smid svar for points. Brugte container class løsningen og det virker super.
Avatar billede Syska Mester
11. oktober 2010 - 21:43 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester