Özet - Enum'lar
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
-
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
-
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.