16 Haziran 2013 Pazar

C Sharp Uygulamalar Generic Tip Kullanımı



KONU : C Sharp Uygulamalar - C Sharp ( C# ) jeneric tip kullanımı örnekleri, C sharpta kullanılan listeler ve bu Listelere eleman ekleme. ArrayList Kullanımı, Generic List Kullanımı, Dictionary Kullanımı, SortedDictionary Kullanımı, SortedList Kullanımı, Stack - Queue Kullanımı, generic class kullanımı.
ETİKETLER: csharp arraylist - csharp arraylist add - c sharp generic list - c sharp generic list add - csharp generic class - csharp generic collections - csharp stack - csharp queue - csharp stack queue - csharp string queue - csharp sortedlist - csharp sorted collection - csharp sorteddictionary - csharp sorteddictionary example - csharp dictionary - csharp dictionary add





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";
        }
    }
}
  

UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder