Avatar billede poulsgaard Praktikant
02. september 2004 - 13:54 Der er 7 kommentarer og
1 løsning

Hvorfor new new new

Jeg er meget ny i .NET og C#. Jeg kigger lige nu bare rundt og læser kode.  jeg er faldet over en ting i koden der undre mig, hvorfor skriver man: _ListBox listBox1 = new ListBox();_

og : listBox1.Size = new System.Drawing.Size(200, 100);

Altså "new".

Poulsgaard
Avatar billede arne_v Ekspert
02. september 2004 - 13:57 #1
Fordi Size property er en referance til et object og new creater
et object som referancen kan pege på.
Avatar billede arne_v Ekspert
02. september 2004 - 13:58 #2
Hvis dú kender C/C++ så er alle C# objekter C/C++ pointere til objekter.
Avatar billede poulsgaard Praktikant
02. september 2004 - 14:02 #3
Jeg kan sætte en property til en vilkårlig værdi uden at skulle "new" (listBox1.MultiColumn = true;)

Hvorfor er en .Size speciel
Avatar billede poulsgaard Praktikant
02. september 2004 - 14:09 #4
OK, fordi at Size ikke referer til en Boolean, men til et objekt, det der forvirer mig er at new står på højre side at =.

Det er i virkeligheden på venstre side at der bliver "afsat" plads ik?

Poulsgaard
Avatar billede poulsgaard Praktikant
02. september 2004 - 14:11 #5
altså plads til det objekt listBox1.Size peger på, nej så passer det vel meget godt på højre side.

Nu er det lykkes mig at forvirer mig selv og afklare det igen 2 (TO) gange.

Jeg har fattet et nu (virkelig) ;-))

TAkker
Avatar billede arne_v Ekspert
02. september 2004 - 14:17 #6
simple data typer (int, bool etc.) er ikke objekter - det er forskellen
Avatar billede prec Nybegynder
02. september 2004 - 16:38 #7
Man kan vel forklare det på følgende måde:

Per får en ny cykel:
Cykel PersCykel = new Cykel();

Efter et par år er per blevet for gammel til sin cykel, så hans lillebror Mads får den.
Cykel MadsCykel = PersCykel();

PersCykel er en ny cykel, så derfor laver du en ny instance af objektet Cykel, men mads's cykel er pers cykel, og derfor er det ikke en ny cykel, men en reference.
Avatar billede prec Nybegynder
02. september 2004 - 16:41 #8
der skulle self ikke være () efter PersCykel, men du forstår nok hvad jeg mener
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