cipher Skrevet 24. mai 2004 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.
cipher Skrevet 24. mai 2004 Forfatter 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.
Gazette Skrevet 24. mai 2004 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
cipher Skrevet 24. mai 2004 Forfatter Skrevet 24. mai 2004 med andre ord kan jeg blande variabeltyper i en arraylist? er ikke det litt ustabilt?
Gazette Skrevet 24. mai 2004 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
cipher Skrevet 24. mai 2004 Forfatter 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.
Gazette Skrevet 24. mai 2004 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...
cipher Skrevet 24. mai 2004 Forfatter 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
Gazette Skrevet 25. mai 2004 Skrevet 25. mai 2004 tja, smak og behag kanskje. Legg den der hvor du synes den logisk sett hører hjemme.
TAFT Skrevet 25. mai 2004 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.
Gazette Skrevet 25. mai 2004 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.
TAFT Skrevet 25. mai 2004 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.
TAFT Skrevet 25. mai 2004 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.
j000rn Skrevet 25. mai 2004 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.
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å