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
Annonceindlæg fra Context&
Corner test = corners[0]; eller snarere Corner test = (Corner)corners[0];
Corner test = (Corner)corners[0];
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.
Corner test = corners[0]; eller snarere Corner test = (Corner)corners[0];
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];
Hvis du bruger .NET 2.0, kan du bruge en generisk liste istedet. Så skal du ikke lave castingen når du refererer.
Bruger 1.1, men hvis listen indeholder objekter af typen Corner burde jeg da ikke lave en typecasting eller?
Jo, for listen returnerer objecter af typen Object.
Ok, men kan man ikke definere en ArrayList til f.eks. at have typen int eller Corner?
Nej, det er først muligt i 2.0 med generiske lister. Alternativt kan du lave din egen klasse som holder objecterne.
Ok. Tak for hjælpen. Der er point ved et svar ;o)
Det var så lidt. Arne kan også lige smide et svar, så kan vi dele :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.