Ö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
using System;
// Grade enum'unu tanımla
class Program
{
static void Main()
{
// Bir not ata, switch ile mesaj yazdır
}
}Ö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;
}
}
}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?
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.