"/>"/>
Yazılım Dilleri
Asp.Net 4.5 Kitabı
Skip Navigation Links

C# Enum Tanımlama

C# içerisinde önemli bir yere sahip olan Enum tanımlaması, kimi zaman kodların daha kolay okunmasını sağlarken çoğunlukla hata yapma ihtimalini azaltmak amacıyla kullanılmaktadır. Peki enum nedir ve h

 C# içerisinde önemli bir yere sahip olan Enum tanımlaması, kimi zaman kodların daha kolay okunmasını sağlarken çoğunlukla hata yapma ihtimalini azaltmak amacıyla kullanılmaktadır. Peki enum nedir ve hata yapma ihtimalini nasıl azaltır?

.Net framework üzerinde hazır enum tanımlamaları olduğu gibi kullanıcı tanımlı enumlar da olabilir. Örneğin haftanın günleri için framework üzerinde hazır DayOfWeek isminde bir enum bulunmaktadır.
DayOfWeek enumunun değerlerine göz attığımızda ise Pazar gününe 0 değerinin verildiğini ve sonraki her güne 1’er artırarak değerler verildiğini görmekteyiz.
Enumların tanımlaması buna benzer şekilde yapılmaktadır. Kullanım amaçları daha çok, parametre olarak bazı fonksiyonlara 1, 2, 3 gibi değerleri yerleştirmektense bunları grup altında toplayıp isimlendirerek karşılığında verilen değerleri kullanmaktır.
Örneğin bir haber sitesine yorum eklendi. Yorumun öncelikle onay için beklemesi gerekir ve bu bekleme sürecinde yöneticinin ekranında görünmesi gerekir. Onay bekliyor anlamında veritabanına 1 değerini yazalım. Yönetici sisteme girdi ve onayladı ise Onayladı anlamında veritabanına 2 değerini yazalım. Yönetici yorumu reddederse Reddedildi anlamında veritabanına 3 yazalım. Bunları yorum ekleme ve yönetici onay sayfalarında kullanırken 1 2 3 şeklinde kullanmak bazen karışıklığa yol açabilir. Bu sebeple OnayDurum isminde bir enum oluşturalım ve OnayBekliyor, Onaylandi, Reddedildi isminde değerlerimiz olsun.
enum OnayDurum
{
    OnayBekliyor = 1,
    Onaylandi = 2,
    Reddedildi = 3
}
 
Enumu oluşturduk. Şimdi kodumuzda kullanalım.
string yorum = "Örnek Yorum";
int onayDurumu = (int)OnayDurum.OnayBekliyor;
YorumKaydet(yorum, onayDurumu);
 
İlk yorum eklenirken 1 değerini gireceğimizi söylemiştik. 1’in anlamı, onay bekliyor idi. Oluşturduğumuz enumda ise OnayBekliyor’un karşılığındaki 1’i alabilmek için int türüne boxing yapmamız gerekti. Bu sayede yazdığımız enumun integer karşılığını alıp yorumu kaydedebildik.
 
Yepyeni makalelerde görüşmek dileğiyle :)
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
 

Yorumlar (2)

  1. Avatar
    feyruz akdoğan

    05.03.2013

    çok güzel anlatmışsınız thank you...

  2. Avatar
    Mehmet Coşkun

    17.06.2013

    ellerine sağlık Veysel Hocam

Yorum Yap

Mail listesine katılmak için tıklayınız

Hakkımdaki son bilgilere anlık erişmek için mail listesine katılabilirsiniz.