Generic Class

 

class Program
{
   
 static void Main(string[] args)
     {
         
#region System.Collections.Generic

          #region List<T>
          //ArrayList: Object tipindeki elemanlardan olusan bir kolleksiyondur.
          //List: T bolumunde belirtilen tipteki elemalardan olusan kolleksiyondur.
          //Asagidaki ornekte her elemani string olan ve adi ogrenciler olan
          //generic bir kolleksiyon tanimlamisi yaptik.
          //Generic yapilari 
          // --> Tip guvenli
          // --> Boxing ve Unboxing islemlerinden kaynaklanan
          // performans yavasligini ortadan kaldirir.
          // --> Hizli
          System.Collections.Generic.List<string> ogrenciler =
             
 new System.Collections.Generic.List<string>();
         
Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               ogrenciler.Capacity, ogrenciler.Count);
          ogrenciler.Add(
"Pinar Sirnak");
         
Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
             
 ogrenciler.Capacity, ogrenciler.Count);
          ogrenciler.Add(
"Haci Inceyilmaz");
         
Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
             
 ogrenciler.Capacity, ogrenciler.Count);
          ogrenciler.Add(
"Murat Sever");
         
Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               ogrenciler.Capacity, ogrenciler.Count);
          ogrenciler.Add(
"Efsun Karaca");
         
Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
             
 ogrenciler.Capacity, ogrenciler.Count);
          ogrenciler.Add(
"Yusuf Karakus");
         
Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               ogrenciler.Capacity, ogrenciler.Count);

          //List.TrimExcess metodu ArrayList.TrimToSize metodu ile ayni isi yapar
          //Capacity degerini Count degerine indirir.
          ogrenciler.TrimExcess();
          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               ogrenciler.Capacity, ogrenciler.Count);

          foreach (string item in ogrenciler)
               Console.WriteLine(item);

          #endregion

          #region

Dictionary<TKey, TValue>

          //HasTable ile ayni isi yapan generic kolleksiyondur.
          System.Collections.Generic.Dictionary<int, string> iller =
               new System.Collections.Generic.Dictionary<int, string>();

          iller.Add(34,

"Istanbul");
          iller.Add(35, "Izmir");
          iller.Add(06, "Anakara");
          Console.WriteLine("Plaka numarasi 34 olan il: {0}", iller[34]);

          //Dictionary<TKey, TValue> listeleme
          foreach (System.Collections.Generic.KeyValuePair<int, string> item in iller)
               Console.WriteLine("Plaka No:{0}, Il: {1}", item.Key, item.Value);

          #endregion

          System.Collections.Generic.LinkedList<

string> liste =
               new System.Collections.Generic.LinkedList<string>();

          System.Collections.Generic.LinkedListNode<

string> ilkNode = 
               liste.AddFirst("Umit Karan");

          System.Collections.Generic.LinkedListNode<

string> ikinciNode = 
               liste.AddAfter(ilkNode, "Lincoln");

          System.Collections.Generic.LinkedListNode<

string> ucuncuNode = 
               liste.AddBefore(ikinciNode, "Skibbe");

          foreach (string item in liste)
               Console.WriteLine(item);

          #endregion

          #region

System.Collections

          #region

ArrayList

          //ArrayList Count, Capacity, TrimgToSize()
          System.Collections.ArrayList arrList =
               new System.Collections.ArrayList();

          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);

          //ArrayList'e eleman ekler
          arrList.Add("Pinar Sirnak");

          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);
          arrList.Add("Haci Inceyilmaz");
          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);
          arrList.Add("Efsun Karaca");
          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);
          arrList.Add("Ali Fuat Navruz");
          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);
          arrList.Add("Erdem Akyildiz");
          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);

          foreach (object o in arrList)
               Console.WriteLine(o);

          Console.WriteLine("Trim To Size Methodu Calistiriliyor!!!");

          arrList.TrimToSize();

          Console.WriteLine("Kapasite: {0}, Eleman Sayisi: {1}"
               arrList.Capacity, arrList.Count);

          //ArrayList'i siralar
          arrList.Sort();

          foreach (object o in arrList)
               Console.WriteLine(o);

          //ArrayList icerisinde "Yusuf Karakus" 
          //degerine sahip eleman olup olmadigini kontrol eder
          Console.WriteLine(arrList.Contains("Yusuf Karakus"));
          Console.WriteLine(arrList.Contains("Erdem Akyildiz"));

          #endregion

          #region

HashTable
          //Key Value ciftleri tutan kolleksiyon yapisi
          System.Collections.Hashtable ht = new System.Collections.Hashtable();

          //HashTable'a eleman ekleme - yontem#1
          ht.Add("sinif", "class");
          ht.Add("arayuz", "interface");

          //HashTable'a eleman ekleme - yontem#2
          ht[