Enum ile liste numaralandırma

Uygulama geliştirirken bazı durumlara karşılık gelen rakam değerleri uygulama içinde kullanmak isteriz. Bazen de belirli rakam değerlere karşı gelen bir listemiz olabilir.

Enum kelimesi C# içinde bu senaryoları gerçekleştirmemize olanak sağlar.

Enum kelimesi enumerasyon tanımlamak için kullanılır. Enumerasyon, enumarasyon listesi olarak adlandırılan ve isimlendirilmiş sabitlerden oluşan ayrı tiptir.

Enum Tanımlamak

    1 enum durumlar

    2 {

    3     beklemede,

    4     islemde,

    5     tamamlandi

    6 }    

 

Not: Enumarasyon tanımlarken isimlendirmelerde Türk alfabesine özel karakterler kullanabilirsiniz. Ama programcılık alışkanlıklarının doğru gelişmesi için bunu yapmanızı önermem.

Not 2: Enumarator adında boşluk kullanamazsınız.

Benzer şekilde haftanın günlerini tanımlamak istersek.

    1 enum Gunler { Pazartesi, Sali, Carsamba, Persembe, Cuma, Cumartesi, Pazar };

şeklinde bir enumerasyon tanımlaması yapabiliriz. Bu tanımlamada ilk sabitin değerinin sıfır (0) olduğu ve diğer değerlerin birer arttığını unutmadan söyleyelim.

Eğer ilk değerin sıfır (0) olması değil bir (1) olması isteniyorsa tanımlamamızı şu şekilde değiştirmeliyiz.

    1 enum Gunler { Pazartesi=1, Sali, Carsamba, Persembe, Cuma, Cumartesi, Pazar };

Bilinmesi gereken bir diğer nokta ise enum tiplerin altında yatan rakamsal değerler int (System.Int32) türündedir. İsterseniz farklı bir nümerik tipten miras alarak altta yatan rakamsal değerlerin tipi değiştirilebilir

    1 enum durumlar : short

    2 {

    3     beklemede,

    4     islemde,

    5     tamamlandi

    6 }

Enum Kullanmak

    1 string s = durumlar.beklemede.ToString();

    2 int i = (int)durumlar.islemde;

Bu durumların tersi durumlarda yani elimizde bir string veya int olduğu durumlarda karşı gelen enumerasyon değerini almak için şu metodları kullanabilirsiniz…

    1 string Deger = "islemde";

    2 durumlar EnumDeger = (durumlar)Enum.Parse(typeof(durumlar), Deger);

veya 

    1 int Deger = 2;

    2 durumlar EnumDeger = (durumlar)Enum.Parse(typeof(durumlar), Deger.ToString());

Klavyeler şen ola…

Yazı oluşturuldu 141

Bir yanıt yazın

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön