vererek bir grup altında toplanabilir. Bu şekilde oluşturulan gruplara enum (enumeration -numarlandırma) adı verilir.
Örnek kullanım 8 :
IsDefined Medotu : enum içinde bir değerin tanımlanıp tanımlanmadığını bulmak amacı ile
kullanılır.
Örnek kullanım 9 :
Enum içerisindeki elemanlara erişim
Örnek kullanım 10 :
Enum elemanlarını ekrana formatlı bir şekilde yazmak
G veya g : enum değerini genel biçimde görüntüler.
D veya d : enum değerinin sayısal karşılığını görüntüler.
F veya f : enum değerinin string karşılığını görüntüler. Birden çok eleman mantıksal operator
kullanılarak gruplandırıldı ise gruplandırılmış elemanlrın arasına virgül konularak görüntülenir.
X veya x (HexaDecimal) : enum değerinin hexadecimal (onaltılık) karşılığını görüntüler.
Örnek kullanım 11 :
Örneğin; uzmanlık adında bir enum tanımlayarak, içerisine masaüstü programlama, web
programlama, script programlama dillerini eleman olarak ekleyerek, bu diller üzerinde | (or –
veya) mantıksal operatörü ile gruplandırma yapalım.
Örnek kullanım 12 :
Örneğimizde,
Uzmanlik.VBNet | Uzmanlik.CSharp;
Cümlesi ile VBNet ve Csharp elemanlarını gruplandırarak masaustuProgramlama değişkenine
aktardık. Burada görüldüğü gibi ToString metodunu F (Flag) biçimlendirmesi ile birlikte
kullandığımızda masaustuProgramlama değişkeni içerisine | (or) mantıksal operatörü
kullanarak eklenmiş olan VBNet ve CSharp değişkenleri, aralarında virgül konularak listelenir.
Diğer biçimlendirmelerde ise, 9 rakamının görüntülendiğini görüyoruz. Bu değer VBNet
elamanının değeri olan 1 ve CSharp elemanının değeri olan 8 rakamlarının toplanması ile elde
edilir.
[Flags()] niteliğini kullanrak F parametresini kullanarak elde ettiğimiz karşılıkları, diğer
parametreler içinde elde edebiliriz. Yukarıdaki örneğimizde ToString yada ToString(“G”) ile de
VBNet, CSharp şeklinde masaustuProgramlamadeğişkeni içerisindeki elemanları elde etmek
istersek, enum tanımlamamızı…
[Flags()]
enum Uzmanlik{
VBNet = 1,
CSharp = 8,
PHP = 3,
Python = 5,
Perl = 12
}
…şeklinde düzenlememiz gerekiyor. Programı bu düzenlemeyi yaptıktan sonra
çalıştırdığımızda aşağıdaki çıktıyı elde ederiz.
– System.Enum Sınıfı : enum içerisindeki elemanlar üzerinde işlem yapmak için
System.Enum sınıfından faydalanılabilir. Bu sınıfa ait metotlardan enum içerisindeki
elemana erişim için kullanılan başlıcalarını inceleyelim.
-GetName Metodu : Enum içerisinde mevcut olan bir elemana, sayısal değerini kullanarak erişmek için GetName metodunu kullanabiliriz. Örneğin; oluşturmuş olduğumuz Uzmanlik
adlı enumiçerisindeki CSharp adlı elemana erişelim.
public static void Main(string[] args)
{
Console.WriteLine(Enum.GetName(typeof(Uzmanlik), 8));
Console.ReadKey(true);
}
[Flags()]
enumUzmanlik{
VBNet = 1,
CSharp = 8,
PHP = 3,
Python = 5,
Perl = 12
}
örneğimizde Uzmanlik adlı enum içerisindeki elemanlara değer ataması yapmamızdan dolayı CSharp elemanının değeri olan 8 değerini girerek Enum.GetName(typeof(Uzmanlik), 8)
Şeklinde CSharp elemanını görüntüledik. Eğer elemanlara değer atamamış olsaydık CSharp elemanına erişmek için
[Flags()]
enumUzmanlik{
VBNet,
CSharp ,
PHP,
Python ,
Perl
}
Kodumuda geçen typeof metodu, Uzmanlik adlı değişkenin enum türünden olduğunu belirtmek amacı ile kullanılmıştır.
GetName metodunu
Enum.GetName(typeof(Uzmanlik), 1)
şeklinde erişmek istediğimiz elemanın sıra numarasını belirterek değeri görüntüleyebiliriz.
-GetNames Metodu :
enum içerisindeki elemanları string formatta elde ederek bir dizi içerisine saklamak için kullanılır. Örnek olarak Uzmanlik adlı enum içerisinde bulunan elemanları ekrana yazmak için;
foreach (var uzmanlik inEnum.GetNames(typeof(Uzmanlik))) {
Console.WriteLine(uzmanlik);
}
şeklinde GetNames metodundan faydalanarak aktarım yapabiliriz.
Çıktı :
-GetValues Metodu : Enum içerisindeki sabitlerin sayısal değerlerini int formatta elde ederek bir dizi içerisinde saklamak amacıyla kullanılır. Örnek olarak Uzmanlik adlı enum içerisindeki elemanların sayısal değerlerini ekrana yazdıralım.
public static void Main(string[] args)
{
foreach (intuzmanlik inEnum.GetValues(typeof(Uzmanlik))) {
Console.WriteLine(uzmanlik);
}
Console.ReadKey(true);
}
[Flags()]
enumUzmanlik{
VBNet = 1,
CSharp = 8,
PHP = 3,
Python = 5,
Perl = 12
}
Çıktı :
-Parse Metodu : Enum içerisindeki ismi yada aldığı değere erişmek için Parse metodu kullanılabilir. Örnek olarak; Uzmanlik adlı enum içerisindeki CSharpelemanlarının değerini
Parse metodu ile görüntüleyelim.
public static void Main(string[] args)
{
Uzmanlikuzmanlik =
(Uzmanlik) Enum.Parse(typeof(Uzmanlik),”CSharp”,true);
Console.WriteLine(“C# uzmanlık alanının değeri : {0}”,
uzmanlik.ToString(“D”));
Console.ReadKey(true);
}
[Flags()]
enumUzmanlik{
VBNet = 1,
CSharp = 8,
PHP = 3,
Python = 5,
Perl = 12
}
Çıktı olarak C# uzmanlık alanının değeri : 8 şeklinde bir sonuç üretecektir