CodeBlanks Logo Icon CodeBlanks

Enum değerleri

Enum elemanlarına erişmeyi öğrenirsin.

Enum değerlerine erişim

Tanımlanan bir enum'ın tüm sabitlerine .values ile erişilir. Bu, sabitlerin yazım sırasıyla bir listesidir. Color.values sana [Color.red, Color.green, Color.blue] verir. Üzerinde döngüyle dolaşabilir, ilk ve son öğeyi alabilirsin.

Her sabitin .index özelliği tanımdaki sırasını verir; ilk sabit 0'dır. .name ise sabitin adını bir dize olarak döndürür. Color.green.name sonuçu "green". Bu özellikler enum'ları listelemek, menü oluşturmak ve kayıt yapmak için kullanışlıdır.

index özelliği

Bir enum sabitinin tanımdaki sırasını .index verir. İlk sabit 0'dır, sonrakiler birer artar. Color.red.index sonuçu 0, Color.blue.index sonuçu 2'dir. Bu, bir menüde sabitin kaçıncı sırada olduğunu göstermek için işe yarar.

.name ise sabitin adını dize olarak döndürür; Color.green.name sonuçu "green". Birlikte kullanılabilir: bir kayıt satırına hem indeks hem ad yazılır. .name ile karşılaştırma yapmak yerine doğrudan Color.green sabitini kullanmak daha güvenlidir; çünkü yazım hatası derleme sırasında yakalanır.

Uygulama Sıra sende: sabitleri listele

Day adında, monday, tuesday, wednesday sabitlerini içeren bir enum tanımla. main içinde for döngüsüyle Day.values üzerinde gez ve her birinin .name özelliğini print ile yazdır.

Başlangıç kodu

main.dart
void main() {
  // Day enum'ını tanımla: monday, tuesday, wednesday
  // for döngüsüyle tüm sabitlar üzerinde gez
  // .name özelliğini yazdır
}

Örnek çözüm

main.dart
enum Day { monday, tuesday, wednesday }

void main() {
  for (final d in Day.values) {
    print(d.name);
  }
}

Beklenen çıktı

monday
tuesday
wednesday

Soru ve cevaplar

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

1 .values özelliği

Soru
final list = Color.____;
Cevap
final list = Color.values;

Açıklama: .values tüm sabitları liste olarak verir.

2 Enum özelliklerini eşleştir

Kavram Anlamı
.values tüm sabitların listesi
.index sıra numarası
.name sabit adı dize olarak
Color.green tek bir sabit

3 Color.values çağrısı ne döndürür?

main.dart
final all = Color.values;
  • tek bir Color
  • bir sayı
  • bir dize
  • Color listesi (List<Color>) Doğru cevap

Açıklama: .values tüm sabitları içeren listedir.

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