UYGULAMAYI İNDİR
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace C_Sharp_Generic_Tip_Kullanımı
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//ArrayList object aldığı için her türlü veri girişi yapılabilir.
ArrayList arraylist = new ArrayList();
//integer bir sayı eklenebilir
arraylist.Add(234231);
//string bir değer eklenebilir
arraylist.Add("123456");
//Herhangi bir kontrol eklenebilir.
arraylist.Add(new TextBox());
//Generic List collection ını sadece belirtilen tipte değerler alabilir.
//Böylece bu collection içinde sadece bu tipin olduğunu bildiğimizden bu liste sadece
//bu tipte veri ataması yaparız.
List< int > list = new List< int >();
list.Add(123);
list.Add(456);
list.Add(789);
foreach (int item in list)
{
listBox1.Items.Add(item);
}
//şimdi de generic Para sınıfını nasıl kullanabileceğimize bakalım
//Burada Para nın tipi int olsun. Bu durumda Lira ve Kurus değerlerini int tipinden girmemiz
//gerekecek. Aşağıda para isminde bir örneğini oluşturacağım.
Para< int > paraInt = new Para< int >();
paraInt.Lira = 40;
paraInt.Kurus = 13;
//Bu sefer Para generic sınıfının tipin string yapacağım. Bu durumda Lira ve Kurus değerlerinin
//tipi de otomatik olarak string olacak. Aşağıdaki örnekteki gibi değerleri çift tırnak olarak
//yani string olarak girmemiz gerekiyor.
Para< string > paraString = new Para< string >()
{
Lira = "Kirk",
Kurus = "On Üç"
};
//bu örneğimde de Para sınıfının tipini double olarak atadım.
Para< double > paraDouble = new Para < double >(3, 12);
//oluşturduğumuz para nesnelerini listboxda görelim. Bu işlem bu sınıfın ToString metodundaki
// değeri listbox kutusuna yazdıracak
listBox1.Items.Add(paraInt);
listBox1.Items.Add(paraString);
listBox1.Items.Add(paraDouble);
//Diğer Collection sınıflarına da aşağıdaki gibi eleman ekleyebiliriz.
//Queue tipini ne yaparsak o tipte eleman ekleme yapabiliriz. Burada string ve int tipinde iki
//örnek ile eleman eklemenin nasıl yapılacağını gösterdim.
//Queue collection ını FIFO yapısına sahiptir (First in First out), yani bu collection a
//ilk eklenen ilk çıkar yapısındadır. Dequeue metodu kullanılarak da queue boşaltılır.
//boşaltma işleminde FIFO kuralı uygulanır
Queue < int > queueInt = new Queue< int >();
queueInt.Enqueue(1);
queueInt.Enqueue(4);
Queue< string > queueString = new Queue< string >();
queueString.Enqueue("1");
queueString.Enqueue("4");
//Diğer bir collection da Stack tir. Generic yapısından dolayı yine tip seçilebilir.
//Bunun Queue dan farkı LIFO yapısına sahiptir (Last in Firs Out), yani bu collectiona son eklenen
//eleman ilk çıkar. Push metodu eleman eklemek için kullanılır. Pop metoduda eleman çıkartmak için
//kullanılır.
Stack< string > s = new Stack< string >();
s.Push("A");
s.Push("B");
//Dictionary sınıfı içerisinde belirleyeceğiniz bir anahtara uygun bir değeri saklayabilecek
//listeleri oluşturmak için kullanılır. Burada anahtar türünün belirtilmesi gerekmektedir.
Dictionary< int, string > dictionary = new Dictionary< int, string >();
dictionary.Add(1, "Enes");
dictionary.Add(2, "Gökçe");
dictionary.Add(3, "Sami");
//Veriler anahtar-değer yapısında saklanır. Bu listeye eklenen veriler alfabetik olarak
//sıralı bir şekilde tutulur. Veri türlerinin hepsini kullanabilir. Key(Anahtar) değiştirilemez
//ve boş değer girilemez. Value (Değer) değiştirilebilir ve boş değer olarak girilebilir.
SortedList< string, string > sortedlist = new SortedList< string, string >();
sortedlist.Add("Araba", "Car");
sortedlist.Add("Masa", "Table");
SortedDictionary< int, string > sorteddictionary = new SortedDictionary< int, string >();
sorteddictionary.Add(1, "Enes");
sorteddictionary.Add(2, "Gökçe");
sorteddictionary.Add(3, "Sami");
}
}
//Örnek olarak Para diye bir generic class yapalım ve bunu kullanalım.
public class Para< Tip >
{
public Tip Lira;
public Tip Kurus { get; set; }
public Para()
{
}
public Para(Tip tipLira, Tip tipKurus)
{
this.Lira = tipLira;
this.Kurus = tipKurus;
}
public Tip Yazdir(Tip tip)
{
return tip;
}
public override string ToString()
{
return Lira + " TL " + Kurus + " Kurus";
}
}
}
Hiç yorum yok :
Yorum Gönder