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[