Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

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

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 av kriss
Lenke til kommentar

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 av cipher
Lenke til kommentar
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
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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...