C# - Enum Kullanımı { 13 } (1 Viewer)

Joined
Aug 5, 2018
Credits
0
Rating - 0%

Başlayalım...
Geliştirdiğimiz uygulamalarda çeşitli parametrik yönlendirmelere ihtiyaç duyabiliriz. “ 1 gelirse şunu şunu yap, 2 gelirse bunu yap”. Son çıktıya baktığımızda belki istenilen sonucu almışsınızdır fakat büyük bir proje olduğunda veya bir süre sonra tekrar aynı koda baktığınızda 1’in neyi, 2’nin neyi ifade ettiğini tekrardan hatırlamanız gerekir, unuttuğunuzda ise tekrardan kodu çözmeniz için zaman harcamanız gerekmektedir.

Numaralandırmalar (enumerations) kod içerisinde sayısal karşılaştırma veya işlem gerektiren yerlerde yazılımcı için daha okunabilirlik sunan, kod karmaşasını azaltan yardımcı bir yapıdır.

Hemen örneklemeye geçelim, en basit bir şekildde Enum tanımlama.
Code:
enum enum_ismi { deger1,deger2,deger3};

Şimdi ufak bir örnek ile kullanalım. Seçilen güne göre hafta içerisinde mi, hafta sonunda mı yer aldığını belirten bir örnek ile gösterelim.
Code:
enum Gun { Pazartesi, Salı, Carsamba, Persembe, Cuma, Cumartesi, Pazar };
 
 static void Main(string[] args)
 {
     Gun secilenGun = Gun.Carsamba;
 
     if (secilenGun == Gun.Cumartesi || secilenGun == Gun.Pazar)
     {
         Console.WriteLine("Hafta sonu seçtiniz.");
     }
     else
     {
         Console.WriteLine("Hafta içi seçtiniz.");
     }
 }
Yazdığımız uygulamada seçilen günü “Gun” tipinde aldık ve enum olarak karşılaştırmasını yaptık. Oluşturduğumuz enumlara referans değeri verebilir ve referans değeri ile de işlemler yapabiliriz. Bunun için aşağıdaki gibi ufak eklemeler ile aynı uygulamayı yazabiliriz.
Aynı sonucu verecek başka bir örnek gösterelim.
Code:
enum Gun { Pazartesi = 1, Salı = 2, Carsamba = 3, Persembe = 4, Cuma = 5, Cumartesi = 6, Pazar = 7};
 
 static void Main(string[] args)
 {
     int secilenGun = (int)Gun.Carsamba;
 
     if (secilenGun == (int)Gun.Cumartesi || secilenGun == (int)Gun.Pazar)
     {
         Console.WriteLine("Hafta sonu seçtiniz.");
     }
     else
     {
         Console.WriteLine("Hafta içi seçtiniz.");
     }
 }
Eğer deneme yaparsanız aynı ekran çıktısını alacaksınız.

enum farklı bir türde tanımlanabilir örnek olarak;
Code:
enum Sonuç : byte { Kaldi,Gecti };

Enum kullanılırken dikkat edilmesi gereken konular şunlar;​
  • Enum içerisinde değer vermezsek, değerler 0’dan başlar ve birer birer artar.
  • Enum’ların varsayılan değer “int”dir.
  • Enumları; byte,sbyte, short,ushort, int, uint,long, ulong türlerin oluşturabiliriz.
  • Enum içerisine verdiğimiz değerlerde, değişken isimlendirmede dikkat edilen kurallar geçerlidir. Örneğin sayı ile başlayan veya içerisinde boşluk bulunan isimlendirmeler veremeyiz.
 

Users who are viewing this thread

Top