{Merhaba Dünya Ben Emre Kıyak}

 





C#'da Enumaratorler - Numaralandırıcılar

Share |


C#'da kullanmaktan en çok keyif aldığım uygulamalardan biridir. Bu konuyla ilgili verilecek çok sayıda örnek uygulama var. 

"Enum sabitleri C# dilinde çeşitli sembolleri tamsayılar ile ifade edebilmek için geliştirilmiş bir veri yapısıdır." *

Enum oluşturmak aşağıdaki şekilde yapılır

enum TUR : int { Samsung, Nokia, HP, Diger }

Burada parantez içindeki ifadeler sırayla 0-1-2-3 değerini alırlar. Bunu istersek değiştirebiliriz.

enum TUR : int { Samsung=1, Nokia=2, HP=3, Diger=4 }

enum sözcüğünden sonra bu bildirimi çağıracak ifademizin adını veriyoruz. Ardından parantez içinde yer alacak olan verilerin türünü bildiriyoruz. Genel olarak int kullanılır. Bunun dışında da kullanımlar mevcuttur. (byte, short, sbyte, usgort)

Bir önceki struct konusu ile birleştirerek örneği pekiştirelim

struct Telefon
    {
        private string m_Marka;
 
        public string Marka
        {
            get { return m_Marka; }
            set { m_Marka = value; }
        }
 
        public string EkranaYaz(TUR t)
        {
            if (t == TUR.HP)
            {
                m_Marka = "HP";
            }
            else if (t == TUR.Nokia)
            {
                m_Marka = "Nokia";
            }
 
            return m_Marka;
        }
 
    }
 
    class Program
    {
       
        static void Main(string[] args)
        {
            Telefon t = new Telefon();
            t.Marka = "Nokia";
            Console.WriteLine(t.EkranaYaz(TUR.Nokia));
            Console.ReadLine();
        }
    }

Yukarıdaki örnekte struct içinde bir metot tanımladık ve bu metod dışarıdan enum tipinde bir değer alıyor. Main() metodunda da bu structı oluşturup enum tipinde bir değer gönderip bunu console ekranına yazıyoruz. Örnek içerik olarak pek mantıklı bir senaryosu olmasa da enum kullanımını pekiştirmek için iyi bir örnek.

 

* Sefer Algan "Her yönüyle C#"


11 Aralık 2009 Cuma akşam 22:27

Mesajınızı yazabilirsiniz


Rumuz :  
 
Email :   
  
Mesaj :  
Bu konuya abone olmak ister misiniz ?

Güvenlik kodunu göremiyorsanız sayfayı yenileyin.
Güvenlik Kodu :