A Form deklarációjánál hozzuk létre qe névvel a saját a Queue osztályunkat, melyet a példa során felhasználunk.
private Queue qe = new Queue();
Új elemet eltárolni egy ilyen listába az Enqueue függvénnyel lehet.
protected void button1_Click (object sender, System.EventArgs e)
{
qe.Enqueue(textBox1.Text);
UpdateLabel1();
}
A lista elemeinek számát a Count property árulja el. Ehhez egy saját belső függvényt készítünk, mely kiírja ezt az értéket egy Label komponensre.
private void UpdateLabel1()
{
label1.Text = qe.Count.ToString();
}
A listára felvett elemekről kérhetünk egy tömböt is a ToArray függvényhívással. Ilyenkor egy Object elemeket tartalmazó tömböt kapunk vissza, melyen egy foreach ciklussal egyszerűen végigmehetünk.
protected void button2_Click (object sender, System.EventArgs e)
{
Object[] array = qe.ToArray();
listBox1.Items.Clear();
foreach (Object s in array)
{
listBox1.Items.Add(s.ToString());
}
}
Egy elem kiolvasásához és a listáról való eltávolításához a Dequeue függvényt kell meghívnunk. Ez a függvény a listára elsőként elhelyezett elemet adja vissza függetlenül attól, hogy ezután hány új elem került még a listára.
protected void button3_Click (object sender, System.EventArgs e)
{
if (qe.Count > 0)
{
label2.Text = qe.Dequeue().ToString();
UpdateLabel1();
}
}
Van lehetőségünk a lista első elemének elérésére oly módon is, hogy az ne kerüljön törlésre. Ekkor a Peek függvényt kell használnunk.
protected void button5_Click (object sender, System.EventArgs e)
{
if (qe.Count > 0)
{
label3.Text = qe.Peek().ToString();
UpdateLabel1();
}
}
A lista teljes törlését a Clear függvény hívásával érhetjük el.
protected void button4_Click (object sender, System.EventArgs e)
{
qe.Clear();
UpdateLabel1();
}