Avatar billede ahara Nybegynder
18. maj 2006 - 23:11 Der er 12 kommentarer og
2 løsninger

Problemer med ArrayList

Hej

Jeg benytter ArrayList til at gemme en række objekter i (her er kun vist et):

ArrayList corners = new ArrayList();
Corner c1 = new Corner(1,1);
c1.addNeighbours(c2,c3,null,null);
corners.Add(c1);

Hvis jeg feks vil hente objektet ud i en variabel, hvorfor kan jeg så ikke gøre følgende:

Corner test = corners(0);

'corners' denotes a 'variable' where a 'method' was expected

Tak
AHR
Avatar billede arne_v Ekspert
18. maj 2006 - 23:14 #1
Corner test = corners[0];

eller snarere

Corner test = (Corner)corners[0];
Avatar billede hmortensen Nybegynder
18. maj 2006 - 23:15 #2
Corner test = (Corner)corners[0];
Avatar billede hmortensen Nybegynder
18. maj 2006 - 23:17 #3
Og grunden til at du ikke kan gøre sådan her:
Corner test = corners[0];
er at listen returnerer et object af typen object, så det skal castes til din egen type.
Avatar billede arne_v Ekspert
18. maj 2006 - 23:17 #4
Corner test = corners[0];

eller snarere

Corner test = (Corner)corners[0];
Avatar billede ahara Nybegynder
18. maj 2006 - 23:18 #5
Min fejl med paranteser. Havde faktisk brugt [], men dette virker stadig ikke:

Corner test = corners[0];

Hvor skal jeg typecaste den for dette virker (hvilket dette gør):

Corner test = (Corner)corners[0];
Avatar billede hmortensen Nybegynder
18. maj 2006 - 23:20 #6
Hvis du bruger .NET 2.0, kan du bruge en generisk liste istedet. Så skal du ikke lave castingen når du refererer.
Avatar billede ahara Nybegynder
18. maj 2006 - 23:22 #7
Bruger 1.1, men hvis listen indeholder objekter af typen Corner burde jeg da ikke lave en typecasting eller?
Avatar billede hmortensen Nybegynder
18. maj 2006 - 23:23 #8
Jo, for listen returnerer objecter af typen Object.
Avatar billede ahara Nybegynder
18. maj 2006 - 23:26 #9
Ok, men kan man ikke definere en ArrayList til f.eks. at have typen int eller Corner?
Avatar billede hmortensen Nybegynder
18. maj 2006 - 23:28 #10
Nej, det er først muligt i 2.0 med generiske lister. Alternativt kan du lave din egen klasse som holder objecterne.
Avatar billede ahara Nybegynder
18. maj 2006 - 23:29 #11
Ok. Tak for hjælpen. Der er point ved et svar ;o)
Avatar billede hmortensen Nybegynder
18. maj 2006 - 23:30 #12
Det var så lidt.
Arne kan også lige smide et svar, så kan vi dele :)
Avatar billede arne_v Ekspert
18. maj 2006 - 23:32 #13
jo i 2.0

List<Corner>
Avatar billede arne_v Ekspert
19. maj 2006 - 00:38 #14
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