using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Exemplul5
{
    class Program
    {
        static void Main(string[] args)
        {
            //Exemplu de utilizare a clasei SortedList
            // 

            SortedList<string, long> listaLbPrg = new SortedList<string, long>();
            listaLbPrg.Add("Aveo", 9000);
            listaLbPrg.Add("Logan", 8000);
            listaLbPrg.Add("Albea", 9200);
            listaLbPrg.Add("Fiesta", 10000);

            Console.WriteLine("Capacitatea listei " + listaLbPrg.Capacity + " elemente.");

            listaLbPrg.Add("Scoudo", 5300);
            listaLbPrg.Add("Yaris", 5800);
            listaLbPrg.Add("Astra", 4000);
            listaLbPrg.Add("Golf 6", 8200);
            listaLbPrg.Add("Focus", 3650);
            Console.WriteLine("Capacitatea listei " + listaLbPrg.Capacity + " elemente, iar lista contine " + listaLbPrg.Count + " elemente.");

            //parcurgerea elementelor din lista, utilizand un enumerator
            IEnumerator enumLista = listaLbPrg.GetEnumerator();
            while (enumLista.MoveNext())
            {
                string str = enumLista.Current.ToString();
                Console.WriteLine(str);
            }
            Console.WriteLine();

            long pret;
            if (listaLbPrg.TryGetValue("Logan", out pret))
                Console.WriteLine("Pret Logan:" + pret);

            //o alta modalitate de accesare a elementelor listei
            Console.WriteLine("Pret Logan:" + listaLbPrg["Logan"]);


            Console.WriteLine();
            if(listaLbPrg.Remove("Logan"))
                Console.WriteLine("Logan a fost eliminat din lista.");

            enumLista = listaLbPrg.GetEnumerator();
            while (enumLista.MoveNext())
            {
                string str = enumLista.Current.ToString();
                Console.WriteLine(str);
            }

            Console.WriteLine();
            Console.WriteLine("Lista contine " + listaLbPrg.Count + " elemente."); 

        }
    }
}
