CodeBlanks Logo Icon CodeBlanks

Enum değerleri

C# kursu · Başlangıç · Ders 101/116

Enum elemanlarına erişmeyi ve değerlerini öğrenirsin.

Temel tamsayı değerleri

Her enum üyesi arka planda bir tamsayı değeri taşır. Varsayılan olarak ilk üye 0'dır ve sonraki her üye bir öncekinden bir fazla olur. Bu değere (int) dönüşümü ile ulaşabilirsin.

Örneğin enum Day { Mon, Tue, Wed } tanımında Day.Mon 0, Day.Tue 1 ve Day.Wed 2 değerine karşılık gelir. (int)Day.Tue ifadesi 1 verir. Bu, enum değerlerini sayısal karşılıklarıyla kullanmanı sağlar.

Açık değer atama

İstersen enum üyelerine açık tamsayı değerleri verebilirsin. = işaretiyle değeri belirtirsin; sonraki üyeler otomatik olarak bir artarak devam eder. Bu, veritabanı kodları ya da protokol sabitleri gibi belirli sayısal değerler gerektiren durumlarda kullanışlıdır.

Örnek: enum Level { Low = 1, Mid = 2, High = 3 } tanımında her üyenin değeri açıkça verilir. Veya enum Code { A = 10, B, C } tanımında A=10, B=11, C=12 olur; çünkü açık değerden sonra otomatik artış devam eder.

Temel tür seçimi

Enum'ların temel türü varsayılan olarak int'tir. İstersen byte, short ya da long gibi başka tamsayı türleri de seçebilirsin. Bunun için tanımda iki nokta üst üste ile türü belirtirsin.

Örnek: enum Code : byte { A, B, C } tanımında temel tür byte olur; böylece değerler 0-255 aralığında tutulur. Bu, bellek tasarrufu ya da dış sistemlerle uyum için kullanışlıdır. Yine de çoğu durumda int varsayılanı yeterlidir.

Uygulama Önceliği int olarak yazdır

Priority adında bir enum tanımla; üyeleri Low = 1, Normal = 2, High = 3 olsun. Main içinde Priority p = Priority.High; biçiminde p'ye High ata ve (int)p değerini Console.WriteLine ile yazdır.

Örnek çözümü göster
enum Priority { Low = 1, Normal = 2, High = 3 } tanımla, sonra Priority p = Priority.High; ve Console.WriteLine((int)p); ekle.
Örnek çözüm:
using System;

enum Priority { Low = 1, Normal = 2, High = 3 }

class Program
{
    static void Main()
    {
        Priority p = Priority.High;
        Console.WriteLine((int)p);
    }
}

Kendini test et

  1. Day.Tue'nun değeri kaçtır?

    enum Day { Mon, Tue, Wed }
    • 0
    • 2
    • 1
    • 10
    Cevabı göster

    1 — Doğru! Tue ikinci üye olduğundan değeri 1'dir.

  2. Açık değerli enum

    enum Level { Low = 1, Mid = ____, High = 3 }
    Cevabı göster
    enum Level { Low = 1, Mid = 2, High = 3 }
  3. Enum tanımını değerlerle eşleştir

    enum E {A, B}
    A=0, B=1
    enum E {A=10, B}
    A=10, B=11
    enum E {A=1, B=2}
    A=1, B=2

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