CodeBlanks Logo Icon CodeBlanks

Özet - Enum'lar

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

Enum ve Flags'ı birleştirerek bir yetki kontrol sistemi yazarsın.

Özet - Enum'lar

Bu grupta enum'ları öğrendin. enum anahtar kelimesiyle adlandırılmış sabitler tanımlarsın; üyeler varsayılan olarak 0'dan başlar ya da açık değer alır. (int) ile temel değere, (EnumName) ile sayıdan enum'a geçersin.

Enum.Parse ve Enum.TryParse ile dizeden enum'a çözümleme; Enum.IsDefined ile geçerlilik kontrolü yaparsın. [Flags] özelliği bit alanı kombinasyonlarını, | ve HasFlag ise birleştirme ve sorgulama işlemlerini sağlar. Bir sonraki ödevde bunları switch ile birlikte deneyeceksin.

Enum ve switch

Enum değerleri switch deyimiyle çok iyi çalışır. Her case etiketi bir enum üyesini temsil eder; böylece kodun okunması ve bakımı kolaylaşır. Derleyici, tüm üyeleri kapsamadığında uyarı verebilir; default dalı ise beklenmedik değerleri yakalar.

Örnek: switch (status) { case Status.Active: ...; break; ... } yapısı, duruma göre dallanmayı açık biçimde gösterir. Enum kullandığında yanlış değer gönderme riski azalır ve IDE otomatik tamamlama hız kazandırır.

Uygulama Not ile switch

Grade adında bir enum tanımla; üyeleri A, B, C, D, F olsun. Main içinde Grade g = Grade.A; biçiminde g'ye A ata. Sonra switch (g) ile case Grade.A: dalında Console.WriteLine("Mükemmel"); yaz ve default dalında Console.WriteLine("Diğer"); yaz. break eklemeyi unutma.

Örnek çözümü göster
Console.WriteLine("Mükemmel"); break; default: Console.WriteLine("Diğer"); break; } ekle.
Örnek çözüm:
using System;

enum Grade { A, B, C, D, F }

class Program
{
    static void Main()
    {
        Grade g = Grade.A;
        switch (g)
        {
            case Grade.A:
                Console.WriteLine("Mükemmel");
                break;
            default:
                Console.WriteLine("Diğer");
                break;
        }
    }
}

Kendini test et

  1. Kavramı açıklamasıyla eşleştir

    enum
    Adlandırılmış sabitler
    (int)enumValue
    Temel değeri verir
    [Flags]
    Bit alanları
    Enum.TryParse
    Güvenli çözümleme
  2. Enum için hangisi doğrudur?

    enum Color { Red, Green, Blue }
    • Değerleri değiştirilebilir
    • Sadece string alır
    • Çalışma anında üye eklenebilir
    • Adlandırılmış sabitler kümesidir
    Cevabı göster

    Adlandırılmış sabitler kümesidir — Doğru! Enum, adlandırılmış sabitler kümesidir.

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