Enum değerleri
- Dart kursu
- Başlangıç
- Ders 95/116
- 4 dk
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
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
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
final list = Color.____;
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?
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.