C#
Enum tanımlama
enum anahtar kelimesiyle adlandırılmış sabitler tanımlamayı öğrenirsin.
Enum nedir?
Enum (numaralandırma), adlandırılmış sabitler kümesidir. Birbiriyle ilgili sembolik değerleri tek bir çatı altında toplar; böylece kod daha okunaklı olur ve yanlış değer gönderme riski azalır. Haftanın günleri, yılın ayları ya da sipariş durumları buna örnektir.
Tanımlama biçimi: enum Color { Red, Green, Blue }. Burada Color yeni bir tür, Red, Green ve Blue ise bu türün alabileceği değerlerdir. Varsayılan olarak her değer bir tamsayıya karşılık gelir ve sıfırdan başlar.
Enum değerini kullanmak
Tanımladığın enum türünden bir değişken oluşturup değer atayabilirsin. Atama EnumName.ValueName biçiminde yapılır; yani enum adı ve nokta ile üye adı birleşir. Böylece değerin hangi türe ait olduğu açıkça görünür.
Örnek: Color favorite = Color.Green; satırı favorite değişkenine Green değerini atar. Console.WriteLine(favorite) çağrısı ekrana Green yazar. Tür güvenliği sayesinde yanlış türde değer atamak derleme hatası verir.
Varsayılan değer
Bir enum değişkeni tanımlandığında ve değeri atanmadığında, varsayılan değeri 0'dır. Bu, enum'un ilk üyesine karşılık gelir. Bu yüzden ilk üye genellikle "None" ya da "Default" gibi bir adla sıfır değerini temsil edecek biçimde seçilir.
Örneğin Color c; tanımından sonra c'nin değeri 0 olur; eğer Red ilk üye ise c otomatik olarak Red olur. Bu davranış, sınıf alanlarında ve özelliklerde de geçerlidir.
Uygulama Mevsim enum'u tanımla
Dosyanın başında Season adında bir enum tanımla; üyeleri Spring, Summer, Autumn, Winter olsun. Main içinde Season s = Season.Summer; biçiminde s'ye Summer değerini ata ve Console.WriteLine ile yazdır.
Örnek çözümü göster
enum Season { Spring, Summer, Autumn, Winter } tanımla, sonra Season s = Season.Summer; ve Console.WriteLine(s); ekle.
Örnek çözüm:
using System;
enum Season { Spring, Summer, Autumn, Winter }
class Program
{
static void Main()
{
Season s = Season.Summer;
Console.WriteLine(s);
}
}
Kendini test et
-
Hangisi geçerli enum tanımıdır?
- enum Color = Red, Green, Blue;
- enum Color { Red, Green, Blue }
- Color enum { Red, Green, Blue }
- enum Color: Red Green Blue
Cevabı göster
enum Color { Red, Green, Blue } — Doğru! Değerler süslü parantez içinde, virgülle ayrılır.
-
Enum değerini ata
Color c = ____;
Console.WriteLine(c);
Cevabı göster
Color c = Color.Red;
Console.WriteLine(c);
-
Kavramı açıklamasıyla eşleştir
- enum Color
- Renk sabitleri
- Color.Red
- Bir enum değeri
- varsayılan değer
- ilk üye (0)
Sıradaki ders: Enum değerleri