CodeBlanks Logo Icon CodeBlanks

Enum tanımlama

C# kursu · Başlangıç · Ders 100/116

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

  1. 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.

  2. Enum değerini ata

    Color c = ____;
    Console.WriteLine(c);
    Cevabı göster
    Color c = Color.Red;
    Console.WriteLine(c);
  3. Kavramı açıklamasıyla eşleştir

    enum Color
    Renk sabitleri
    Color.Red
    Bir enum değeri
    varsayılan değer
    ilk üye (0)

Başlangıç bölümündeki tüm dersler