cipher Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 finnes det noen dynamisk array metode i C# ? jeg skal holde en oversikt over forms, og ønsker ikke å måtte pre-definere antallet. Lenke til kommentar
cipher Skrevet 24. mai 2004 Forfatter Del Skrevet 24. mai 2004 hvordan fungerer den da? har såvidt sett den på internett, men virker jo som om den bare støtter strings. Lenke til kommentar
Gazette Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 ArrayList støtter alt, så lenge det du skal putte inn i den arver fra Object (og det gjør jo absoultt alt i C#) Brukes slik. // husk å inkludere denne using System.Collections; //brukes slik Object o = new Object(); ArrayList list = new ArrayList(); //Legge til et objekt i lista list.Add(o); //Antall objekter i lista System.Console.WriteLine(list.Count); // fjerne et objekt i lista list.Remove(o); System.Console.WriteLine(list.Count); Se her for en fullstendig oversikt over alle metoder i ArrayList: ArrayList på msdn Lenke til kommentar
cipher Skrevet 24. mai 2004 Forfatter Del Skrevet 24. mai 2004 med andre ord kan jeg blande variabeltyper i en arraylist? er ikke det litt ustabilt? Lenke til kommentar
Gazette Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 (endret) Ikke noe galt i å ha forskjellige typer i lista. Se koden nedenfor hvordan man kan sjekke om et element er av en type. Object o = new Object(); string s = "Hello"; ArrayList list = new ArrayList(); //Legge til et objekt i lista list.Add(o); list.Add(s); // Sjekker om elementet på pos 0 er av typen Object if(list[0].GetType() == typeof(Object)) System.Console.WriteLine("Element på pos 0 er av typen Object"); Endret 24. mai 2004 av kriss Lenke til kommentar
cipher Skrevet 24. mai 2004 Forfatter Del Skrevet 24. mai 2004 kult men det vil jo fremdeles vise feil stat under antall elementer hvis det plutselig dukker opp element som ikke hører hjemme der. Lenke til kommentar
Gazette Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 Tja, men da kan du bare telle opp selv av den typen du vil ha antallet på. Kanskje litt lite effektivt hvis listen blir veldig stor... Lenke til kommentar
cipher Skrevet 24. mai 2004 Forfatter Del Skrevet 24. mai 2004 (endret) et litt annet spørsmål... da jeg skal ha en datastruktur, hvor lønner det seg å deklarere den? globalt? eller i formen? f.eks. i dette tilfellet skal jeg ha en arraylist som holder orden på child forms. jeg har litt lyst til å lagre den i formen, men er ikke så "inn" i denne typen koding enda. Endret 24. mai 2004 av cipher Lenke til kommentar
Gazette Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 tja, smak og behag kanskje. Legg den der hvor du synes den logisk sett hører hjemme. Lenke til kommentar
TAFT Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 kult men det vil jo fremdeles vise feil stat under antall elementer hvis det plutselig dukker opp element som ikke hører hjemme der. ArrayList bryr seg ikke om hva den holder. Count gir deg antall elementer i lista - alltid! Fra MSDN: public virtual int Count {get;} Property Value The number of elements actually contained in the ArrayList. Lenke til kommentar
Gazette Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 ArrayList bryr seg ikke om hva den holder. Count gir deg antall elementer i lista - alltid! Tror han mente antall elementer av samme type i arrayet. Lenke til kommentar
TAFT Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 et litt annet spørsmål... da jeg skal ha en datastruktur, hvor lønner det seg å deklarere den? globalt? eller i formen? f.eks. i dette tilfellet skal jeg ha en arraylist som holder orden på child forms. jeg har litt lyst til å lagre den i formen, men er ikke så "inn" i denne typen koding enda. Legg den som en egen klasse. Koble opp events på dine child forms til å registrere seg i lista i denne klassen når de opprettes og avregistrere seg i lista når de lukkes. Lenke til kommentar
TAFT Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 ArrayList bryr seg ikke om hva den holder. Count gir deg antall elementer i lista - alltid! Tror han mente antall elementer av samme type i arrayet. Var nok det ja. Bedre å wrappe hele funksjonaliteten i en egen klasse og eksponere antall her. Se forøvrig annen post i denne tråden. Lenke til kommentar
j000rn Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 Flere måter å lage dynamiske arrays: * System.Collections.ArrayList - enkel, inneholder "object" * System.Collections..Specialized.NameValueCollection - hvert element har navn og verdi (string) Eller favoritten, men krever litt mer kode: * Arve fra System.Collections.CollectionBase Google bør være grei for å finne informasjon om disse. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå