CodeBlanks Logo Icon CodeBlanks

Özet - Enum'lar

  • C# kursu
  • Başlangıç
  • Ders 105/116
  • 5 dk

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.

Başlangıç kodu

Program.cs
using System;

// Grade enum'unu tanımla

class Program
{
    static void Main()
    {
        // Bir not ata, switch ile mesaj yazdır
    }
}

Örnek çözüm

Program.cs
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;
        }
    }
}

Beklenen çıktı

Mükemmel

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

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

Kavram Anlamı
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?

Program.cs
enum Color { Red, Green, Blue }
  • Değerleri değiştirilebilir
  • Adlandırılmış sabitler kümesidir Doğru cevap
  • Çalışma anında üye eklenebilir
  • Sadece string alır

Açıklama: Enum, adlandırılmış sabitler kümesidir.

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