Merhabalar, bu yazımda sizlere C# dilinde sabitler yani Enum nesnesinden bahsediyor olacağım. Ugulama geliştirme sürecinde kullandığımız değerlerin sabit olduğu durumlarda programı daha okunabilir hale getirmek için kullanırız. Örnek olarak veritabanın’ da yer alan kayıtların durumunu control etmek için farklı sayısal değerler kullanıyoruz ve proje geliştirme sürecinde ekipte yer alan herkesin o değerleri kullanmasını sağlamanız gerekiyor. Bu alan için birden fazla değişken tanımlayarak süreci yönetebilirsiniz veya enum nesnesinden faydalanarak bu ve benzeri bir çok durumu yönetebilirsiniz. Sayılar akılda kalıcı olmayacaktır ama, o sayılar için bir isimlendirme yaparsanız süreç daha kolay ilerleyecektir. Günlük hayatımızdan örnek verecek olursak, telefonumuzdaki numaralar için verdiğimiz ait olan kişinin adı soyadı gibi düşünebilirsiniz.
Örnek bir enum tanımlama şekli aşşağıdaki gibidir.
public enum Status { Active, Passive, Deleted }
Yukarıdaki örnekte, veriler için bir durum belirleyip o nesneye proje içerisinde yönetebilir duruma geliryoruz. Tanımladığımız enum değerlerine eğer bir atama yapılmazsa default olarak Başlangıç index(sayısal) değeri 0’dır. Eğer biz tanımlama yapacak isek, aşşağıdaki gibi düzenleyebilirsiniz.
public enum Status { Active = 1, Passive = 2, Deleted = 3 }
Enum nesnesiyle çalışırken metotlardan faydalanarak, üzerinde işlemler yapabilirsiniz. Bunlar
Enum.GetName() Enum.GetName => içerisine verdiğiniz enum tipi ve sayısal değere göre size, enum'ın metinsel değerini teslim eder. Örnek Kullanım : string statu = Enum.GetName(typeof(Status), 1); Ekran çıktısı : Active Enum.GetNames()
Enum.GetNames => içerisinde verdiğiniz enum tipi içerisinde tanımlanmış olan değerleri string[] array olarak teslim eder.
Örnek Kullanım :
string[] status = Enum.GetNames(typeof(Status)); Enum.Parse() Enum.Parse => Tanımlı olan enum içerisindeki string(metinsel) değeri verdiğinizde size enum olarak teslim edecektir. Gönderdiğiniz değer içerisinde yok ise, hata verecektir. Örnek Kullanım : var index = Enum.Parse(typeof(Status), "Active"); Yukarıdaki örnek size, enum içerisinde tanımlı olan değerin index değerini teslim eder. Status status = (Status)Enum.Parse(typeof(Status),"Active");
Yukarıdaki kullanımda ise, Enum değerini kendi tipinde teslim alıyoruz. Parse default olarak
Yukarıdaki metotlara kullanarak İşlemleri sürdürebilirsiniz veya ToString() metodunu parametreli kullanarak da, bazı benzer İşlemleri yapabilirsiniz.
ToString() metodunun kullanımı ise, aşşağıdaki gibidir. Parametre olarak verebileceğiniz değerleri tablo formatında eklenmiştir.
Parametre Değeri Parametre Çıktısı
G veya g Enum değerinin string(metinsel) değerini teslim eder.
D veya d Enum değerinin index(sayısal) değerini teslim eder.
X veya x Enum değerinin Hexadecimal değerini teslim eder.
Kullanım şekli :
var result = Status.Active.ToString("g");
Bir sonraki bölümde, enum nesnesi üzerinde detaylı olarak özelliklerine bakıyor olacağız.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar:
www.mshowto.org
TAGs:Enum (Enumeration) kullanımı