Használatához paraméter nélküli konstruktorát meghívva létre kell hoznunk belőle egy példányt.
private StringCollection sc = new StringCollection();
Ha ez megtörtént, már hozzáadhatunk a kollekcióhoz egy új elemet az Add függvény hívásával. Paraméterként a listához adandó sztringet kell megadni.
A lista tartalmának változását egy ListBox-on keresztül követhetjük, hogy ez mindig az aktuális állapotot tartalmazza, készítünk egy belső függvényt UpdateListBox névvel.
protected void button1_Click (object sender, System.EventArgs e)
{
sc.Add(textBox1.Text);
textBox1.Text = DateTime.Now.ToString();
UpdateListBox();
}
Itt töröljük a ListBox esetleges tartalmát, majd egy ciklust kezdeményezünk, mely nullától kezdődik és a StringCollection utolsó eleméig megy. Ehhez annak Count property-ét kérdezzük le, melyből megtudható, hogy aktuálisan hány eleme van.
protected void UpdateListBox()
{
listBox1.Items.Clear();
for (int i=0; i<sc.Count; i++)
{
Az egyes elemeit a StringCollection Item tömb típusú property-n keresztül érhetjük el. A megfelelő index szám átadása az adott sztring visszaadását eredményezi.
listBox1.Items.Add(sc[i]);
}
}
Elemet a listára az Insert függvénnyel be is szúrhatunk egy adott pozícióra. Ehhez az Insert függvényre van szükségünk, ahol az első paraméter a beszúrandó pozíció, a második pedig maga a sztring.
sc.Insert(0, textBox2.Text);
Egy adott pozíción lévő elemet a RemoveAt függvénnyel törölhetünk. Ehhez paraméterként a törlendő pozíciót kell megadnunk. Mellékelt példában ezt a ListBox-ban lévő elemek valamelyikének kiválasztásával tehetjük meg.
sc.RemoveAt(listBox1.SelectedIndex);
Lehetőség van törlésre név alapján is. Ekkor a Remove függvény hívása szükséges. Paraméterként a sztringet megadva, melyet el szeretnénk távolítani a listáról. Ha a megadott sztring nincs a listán, akkor hiba keletkezik, így a Remove használatánál alkalmazzunk hibakezelést.
try
{
sc.Remove(textBox3.Text);
}
catch
{
textBox3.Text = "Nincs ilyen";
}
Egy elemet meg is kereshetünk az IndexOf függvénnyel. Ennek paraméterként megadjuk a keresett sztringet, majd visszatérési értékként a sztring sorszámát kapjuk meg. Ha nincs találat, akkor a visszatérési érték –1 lesz.
label1.Text = sc.IndexOf(textBox4.Text).ToString();
Ha nem érdekes, hogy hányadik a keresett elem, csak azt kell tudnunk, hogy van-e a listán vagy sem, akkor érdemes a Contains függvényt használni. Ennek paraméterként szintén a keresendő sztringet kell megadnunk, de visszatérési értéke logikai típusú lesz, attól függően, hogy az adott elem van-e a listán vagy nincs.
Adott a lehetőség, hogy ne csak egyesével vegyük fel az elemet a kollekcióba, hanem egy sztringeket tartalmazó tömböt átadva az AddRange függvénynek egyszerre többet is.
string[] s = new String[] { "A", "B", "C" };
sc.AddRange(s);
A listán lévő sztringek törléséhez a Clear függvény használható.
A CopyTo függvénnyel másolhatjuk a sztringeket az első paraméterben megadott tömbbe a második paraméterként megadott indextől kezdve.