Menü

Enum nedir?

25.07.2025
Vektörel Bilişim

Enum (Enumeration), belirli sabit değerleri isimlendirmek için kullanılan özel bir veri tipidir. Bir anlamda bir gruba ait sabitlerin isimlendirilmiş hâlidir. Kod okunabilirliğini artırır ve sabitlerle çalışmayı kolaylaştırır.

Programlamaya yeni başlayanların karşısına çıkan kavramlardan biri de Enumyani Sabit Listelerdir. Özellikle C# eğitimialan öğrencilerin ilk etapta zorlandığı ama alıştıkça projelerinde vazgeçilmez bir hale gelen bu yapı hakkında en çok sorulan soruları cevapladığımız bu yazıda, aynı zamanda uygulamalı örneklerle konuyu netleştireceğiz.

Eğer sen de C# dilini profesyonel seviyede öğrenmek, bol uygulama yaparak gerçek projelere imza atmak istiyorsan Vektörel Bilişim C# Kursutam sana göre!

Enum nedir?

Enum (Enumeration), belirli sabit değerleri isimlendirmek için kullanılan özel bir veri tipidir. Bir anlamda bir gruba ait sabitlerin isimlendirilmiş hâlidir. Kod okunabilirliğini artırır ve sabitlerle çalışmayı kolaylaştırır.

enum Gunler { Pazartesi, Sali, Carsamba, Persembe, Cuma, Cumartesi, Pazar }

Bu tanım sayesinde Gunler.Pazartesi gibi daha anlamlı ifadeler kullanabilirsiniz.

 

Enum kullanmak zorunlu mu?

Hayır, zorunlu değildir. Ancak birden fazla sabit değeri ifade etmek istiyorsanız magic numberkullanmak yerine enum kullanmak kodun okunabilirliğini ve sürdürülebilirliğini ciddi anlamda artırır.

 

Enum integer mı saklanır?

Evet. Enum türleri arka planda sayısal (int) değer olarak saklanır.Örneğin:

Console.WriteLine((int)Gunler.Pazartesi); // 0 yazar

Varsayılan olarak ilk eleman 0’dan başlar ve birer artar.

 

Enum'daki sayısal değerleri kendimiz belirleyebilir miyiz?

Evet. Her bir enum elemanına istediğiniz değeri verebilirsiniz:

enum Aylar { Ocak = 1, Subat = 2, Mart = 3, Nisan = 10 }

Enum ile string değerler kullanılabilir mi?

Enum yapısı doğrudan string veri tipi tutamaz. Ancak ToString() ile enum değerinin ismini alabilirsiniz:

Gunler g = Gunler.Cuma;
Console.WriteLine(g.ToString()); // "Cuma"

Eğer doğrudan string ile eşleştirme gerekiyorsa alternatif çözümler veya Dictionary gibi yapılar kullanılabilir.

 

Enum'ları nasıl listeleyebilirim?

Tüm enum değerlerini listelemek için Enum.GetValues() metodunu kullanabilirsiniz:

foreach (Gunler g in Enum.GetValues(typeof(Gunler)))
{
    Console.WriteLine($"{g} = {(int)g}");
}

Bu yöntemle tüm enum elemanlarını hem isim hem sayısal değer olarak görebilirsiniz.

 

Enum'ları switch-case ile kullanabilir miyim?

Kesinlikle evet! Enum yapıları switch-case yapısıyla oldukça verimli kullanılır:

Gunler bugun = Gunler.Carsamba;

switch (bugun)
{
    case Gunler.Pazartesi:
        Console.WriteLine("Haftanın ilk günü!");
        break;
    case Gunler.Carsamba:
        Console.WriteLine("Hafta ortası!");
        break;
}

Enum değeri var mı yok mu nasıl kontrol edilir?

Geçerli bir enum değeri olup olmadığını kontrol etmek için Enum.IsDefined() kullanılır:

bool gecerliMi = Enum.IsDefined(typeof(Gunler), 3); // true döner (Persembe)

Enum değerini string’ten dönüştürebilir miyim?

Evet. Enum.Parse() veya Enum.TryParse() kullanarak string ifadeyi enum’a çevirebilirsiniz:

Gunler gun = (Gunler)Enum.Parse(typeof(Gunler), "Cuma");

Daha güvenli olan TryParse önerilir:

if (Enum.TryParse("Pazartesi", out Gunler sonuc))
{
    Console.WriteLine((int)sonuc); // 0
}

Enum kullanmak ne işe yarar?

Enum kullanmak;

  • Kodun okunabilirliğini artırır.
  • Sabitleri daha anlamlı hale getirir.
  • Hatalı değer girme riskini azaltır.
  • Switch-case yapılarında düzenli kontrol sağlar.

 

Enum performansı etkiler mi?

Hayır. Enum, arka planda int gibi temel tiplere dönüştürüldüğü için performans açısından etkisi ihmal edilecek düzeydedir.

 

Enum Konusu C# Öğreniminde Neden Önemlidir?

Birçok gerçek hayat uygulamasında sabit listelerle karşılaşırız: haftanın günleri, aylar, kullanıcı rolleri, sipariş durumları vb. Tüm bu alanlarda Enum kullanmak hem temiz kod yazımıhem de hata oranını azaltmakiçin büyük önem taşır. Ayrıca enum sayesinde geliştirilen uygulamalar daha okunabilir ve sürdürülebilir hale gelir.

Eğer sen de bu ve benzeri yapıları uygulamalı örneklerle öğrenmek istiyorsan, Vektörel Bilişim’in sunduğu C# kursu sayesinde sıfırdan ileri seviyeye kadar öğrenebilirsin. Üstelik kurs sonunda gerçek projeler geliştirerek iş dünyasına hazır hale gelebilirsin.

 

C# dilinde enum kullanmak, sabit değerlerle çalışmayı oldukça kolaylaştırır. Bu yazıda en çok merak edilen sorular üzerinden enum kavramını detaylı şekilde işledik. Unutma, iyi bir yazılımcı olmak sadece kod yazmak değil, aynı zamanda doğru yapıları doğru yerde kullanabilme becerisinesahip olmaktır.

Enum Kullanımı için Pratik Örnek

enum Roller { Admin = 1, Kullanici = 2, Misafir = 3 }

void YetkiKontrol(Roller rol)
{
    if (rol == Roller.Admin)
        Console.WriteLine("Tam yetkili!");
    else if (rol == Roller.Kullanici)
        Console.WriteLine("Sınırlı yetki.");
    else
        Console.WriteLine("Sadece görüntüleyebilir.");
}

Bu yapılar sayesinde kullanıcı rolleri gibi sabit bilgileri anlamlı ve güvenli bir şekilde kontrol edebilirsin.

Ankara bilgisayar kursları Vektörel Bilişim. Yazılım uzmanlığı, mimarlık ve inşaat, makina ve imalat, tasarım, yapay zeka, sistem ve ağ eğitimlerimiz. .NET Yazılım Kursu, Java & Android Yazılım Kursu, Swift Eğitimi ios Kursu, Mobil Yazılım Android Kursu, Flutter Mobil Uygulama Kursu, Python Programlama Kursu, İleri C# 6.0 Eğitimi, MSSQL Server Kursu, Unity Oyun Programlama Kursu, Robotik Kodlama Eğitimi, C/C++ Programlama Kursu, Microservices Eğitimi, Spark Full Stack Yazılım Eğitimi, Yapay Zeka Kursu, Yapay Zeka Mühendisliği Kursu, 3Ds Max Mimari Kursu, 3Ds Max Kursu, AutoCAD Kursu, Revit Kursu, Lumion Kursu, İç Mimarlık Kursu, Bilişim Güvenliği Eğitimi, Catia Kursu, CAD/CAM CNC Kursu, Özel Ders, SolidWorks Kursu, Rhino Kursu Rhinoceros Eğitimi, Siemens NX (Unigraphics) Kursu, Web Tasarım Kursu, Grafik Tasarım Kursu, Photoshop Kursu, Video Editing-Montaj Kursu, Adobe After Effects Kursu, Adobe Premiere Kursu, Python Kodlama Kursu, Robotik Kodlama Kursu, Yapay Zekalı Robot Kursu, Adli Bilişim Uzmanlığı Eğitimi, Siber Güvenlik Eğitimi, Adli Belge İnceleme Eğitimi, İleri Bilişim Güvenliği Kursu, İleri Excel Kursu, Adli Muhasebe ve Hile Denetimi, Bilgisayarlı Muhasebe Kursu, Bilgisayar Kursu (İşletmenlik), İleri MS Office Kursu, Ankara On Parmak Klavye Kursu, Dijital Pazarlama Kursu, Sosyal Medya Uzmanlığı Eğitimi, Microsoft Ağ ve Sistem Kursu, Linux Sistem Yönetimi Kursu, Cisco Kursu (CCNA Kursu), Linux Ağ ve Sistem Kursu Kampanya, Vektörel Etkinlik 2, Bilgisayar Kursları, Öğretmen Yetiştirme, Vektörel Etkinlik 1, Franchise, Sık Sorulan Sorular, Sertifikasyon, Hesap Numaraları, Eğitim Garantisi, Hakkımızda Yazılım Kursu, 200 saat sürer. C# kursu ile yazılım uzmanı olun. En iyi yazılım kursu ile yüksek maaşlı yazılım uzmanı olun. Sıfırdan yazılım kursu alabilirsiniz. Online veya yüz yüze yazılım kursu alabilirsiniz. 200 Saat proje uygulamalı Java Android eğitimi ile siz de hem masaüstü hem web hem de mobil (Android)'de yazılımlar geliştirin. Swift IOS programlama kursu ile IPhone telefonlara kolaylıkla uygulama geliştirin. Dersler uygulamlı olarak işlenmektedir. 40 saatlik büyük bölümü uygulamalı ve proje tabanlı olan Android eğitimi ile alanında uzman eğitmenler eşliğinde uygulamalı bir eğitim alın. Flutter Kursu ile 100 Saat Mobil Uygulama Geliştirme Eğitimi alın. Kendi Mobil Uygulamanızı Geliştirin. Tüm Platformlarda yayınlayın. 160 Saat süren Python kursu ile yazılım sektörüne hızlı bir giriş yapın. Yapay zekadan büyük veriye kadar pek çok sektörde yetkin olmaya hazır mısın? 30 saat özel ders veya grup eğitimine katılarak ileri düzey C# eğitiminde C sharp programlama'nın ileri boyutlarını öğrenebilirsiniz. C# Eğitimi ile alanında uzman ol. MS SQL Server Kursu ile inanılmaz fiyatlara harika bir eğitim alın. Veritabanı alanında profesyonel eğitim alın. Alanında uzman olun yeni iş fırsatları yakalayın. Unity 3D Oyun Programlama Kursu ile dilediğiniz oyunu tasarlayabilir ardından kodlamasını C# kullanarak kolaylıkla ve hızla yapabilirsiniz. 50 saatlik Robotik Kodlama Kursu ile robotiğin yazılımsal ve donanımsal temellerini öğrenin. Kendi Terminatör'ünüzü tasarlamaya başlayın :) 35 yıllık eğitmenden 30 Saatte hem C programlama dilini hem de C++ nesne yönelimli programlama dilini öğrenebilirsiniz. Yazılım kariyerinize adım atın. 50 Saat Microservices Eğitimi ile siz de alanınızda uzman olabilirsiniz. Microservices Eğitimi Microservices sertifikasını almanıza da katkı sağlar. Spark Yazılım Uzmanlığı Eğitim Programı İstihdam Destekli 500 Saat 8,5 ay süren ful stack yazılım eğitim programıdır. Vektörel Bilişim Yapay Zeka Eğitimi’nde en iyi yapay zeka araçları mesleklere göre öğretilir. 100 saat proje uygulamalı 3Ds Max Kursu ile mimari alanda profesyonelleşin, VRAY ile fotogerçekçi render'lar almaya başlayın. Kariyeriniz için yeni fırsatlar yakalayın AutoCAD Kursu 64 saat sürer. İster yüz yüze ister online uygulamalı AutoCAD eğitimi alın. Ankara AutoCAD Kursu tavsiye ile en uygun Autocad kursu fiyatları alın. Şimdi arayın hemen başlayın. Revit Kursu Ankara’da 50 Saat uygulamalı olarak alabileceğiniz bir eğitimdir. Eğitimler Proje tabanlı ve Uluslararası Sertifikalıdır. Autodesk Yetkili Eğitmenlerden eğitim alın. 3Ds Max'te modellediğiniz bir modeli Lumion ortamına aktarıp yağmur MEB Sertifikalı İç Mimarlık Kursu ile siz de kendi iç mimarlık ofisinizi açabilirsiniz. 2D - 3D mimari görselleştirme eğitimidir. Hemen uygun fiyatlı iç mimarlık kursu için bize ulaşın. İleri Seviye Bilişim Güvenliği Eğitimi Alabileceğiniz gerçek laboratuvar ortamında dersler alın. 3D Katı Modelleme'de çok parçalı komplike bir imalat sürecine girecekseniz, ihtiyacınız olan tek program CATIA'dır. Üretim dünyasına girmeye hazır mısınız? 130 Saat Süren CAD CAM CNC Kursu ile bir parçanın tasarımdan üretime tüm aşamalarını görebilirsiniz. CNC Operatörlüğü ile CNC tezgahta parça işleyin. Yazılım özel ders programlarımızla Python, Flutter veya C/C++ öğrenin. Solidworks, Revit, AutoCAD ve 3Ds Max özel ders ile teknik çizimde; İleri Excel, Cisco ve Yapay Zeka Mühendisliği ile teknolojide uzmanlaşın. Ankara özel ders tavsiyesi ile en uygun fiyatları alın. Şimdi arayın hemen başlayın! Solidworks ilkelerini ve tekniklerini öğrenin. Hayal ettiğiniz bir parça ile ilgili Solidworks programı ile 3D katı modelleme yapıp SolidCAM ile CNC'de işlenebilir hale getirebilirsiniz. Vektörel Bilişim Rhino Kursu'nu düzenli olarak veren Türkiye'de sayılı kurumlar arasında yer almaktadır. Uygulamalı Rhino kursu için hemen arayın. Siemens NX Kursu, yüksek hassasiyetli ve kaliteli ürünleri tasarlamak için kullanılır. NX Eğitimi ile işinizde profesyonel çözümler üretin. Web Tasarım Kursu ile Google SEO'da başarılı web siteleri oluşturun. HTML, CSS3, Javascript ve Jquery de uzmanlaşın. Web dünyasının gücünü öğrenmek için hazır mısın? Grafik Tasarım Kursu Eğitim Programı ile CorelDraw, Photoshop, Illustrator ve InDesign programlarını TEK bir pakette alabilirsiniz. Tasarım sürecini ve baskı sürecine dair her şeyi öğrenin. Photoshop Kursu ile hayal gücünüzü sınırlandırmayın fotoğraf düzenleyebilir tasarım yapabilirsiniz. Adobe tarafından verilen Adobe Photoshop Certified Expiration sertfikası. Adobe After Effects, Photoshop ve Adobe Premiere programlarını kullanarak harika videolar üretebilirsiniz. Adobe After Effects Kursu ile çekmiş olduğunuz videolara istediğiniz her türlü efekti ekleyebilir, video ve animasyonlar oluşturabilirsiniz. Videolarınızla herkesi şaşırtabilirsiniz. Adobe Premiere Kursu ile çektiğiniz videoları profesyonel bir yaklaşımla birleştirin. Senkronize edin ve kaliteli içerikler üretin. İşi uzmanlarından öğrenin. Çocuklar için Kodlama Kursu ile çocuklarınızın yazılım dünyasına ilk adımlarını atmasını sağlayabilirsiniz. Bu eğitim, çocukların algoritmik düşünme ve problem çözme becerilerini geliştirir ve geleceğin teknoloji uzmanı olmalarına katkı sağlar. 100 Saatlik Çocuklar İçin Robotik Kodlama Kursu ile çocuklarınızın algoritmik düşünme ve problem çözme becerilerini geliştirebilirsiniz. Kurs, blok tabanlı programlama ve robotik setlerle uygulamalı eğitimler sunar. 50 Saatlik Çocuklar İçin Yapay Zeka Kursu ile çocuklarınız erken yaşta kodlama ve yapay zeka becerilerini geliştirebilir. Kurs, blok tabanlı programlamadan yapay zeka projelerine kadar geniş bir içerik sunar ve çocuklar STEM alanında gelişirler. Çocuklar, kendi robotlarını programlayarak yapay zekâ uygulamalarını deneyimler, problem çözme ve analitik düşünme yeteneklerini geliştirirler. STEM dersleriyle eğlenceli ve interaktif bir şekilde geleceğin teknolojilerine sağlam bir başlangıç yaparlar. 60 Saat süren bilişim güvenliği eğitimi ile siz de bilişim güvenliği noktasında kendinizi geliştirin. Siber güvenlik uzmanı olun iyi maaşlarla çalışmaya başlayın. 60 Saat süren Adli Bilişim Uzmanlığı Eğitimi Sertifika Programı ile Forensic Uygulamalarını gerçek adli vakalardan derlenen örneklerle görebilirsiniz. Gerçek Labotaruvar Ortamında 60 saatlik Siber Güvenlik Eğitimi ile bu alanda uzmanlaşın. Gerçek dünya deneyimine sahip uzman eğitimciler tarafından eğitim alın. Adli Belge İnceleme Kursu ile günümüz bilimsel ilke ve tekniklerine uygun, uzman eğitmenlerden uygulamalı adli belge inceleme eğitimi alın. 60 Saat süren hacker eğitimi ile siz de hacker alanında uzmanlaşın. Teknik bilgi ve sistem, network, yazılım gibi birçok alanda uzmanlaşın. İleri Excel Kursu ile ofiste rahat edin. Bu eğitimi alarak iş hayatınızda ürettiğiniz raporlar, analizler, tablolamalar çok daha nitelikli hale gelecek. 60 Saat süren e-Devlet ve Üniversite Onaylı Adli Muhasebe ve Hile Denetimi eğitimini alabilir ardından Adli Muhasebe Uzmanı olabilirsiniz. 60 Saat Bilgisayarlı Muhasebe Kursu alarak siz de Zirve muhasebe programına hakim olun. MEB Onaylı Sertifikası alabilirsiniz. Bilgisayar kursu ile office programlarından Word, İleri Excel ve Powerpoint'i uygulamalı öğrenin. İleri MS Office Kursu Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Outlook eğitimlerini Office Paketi içinde alabilirsiniz. Office işlerinizi hallebilirsiniz. Ankara on parmak klavye kursu ile zabıt katipliği ve icra katipliği sınavlarına profesyonelce hazırlanın. F klavye teknikleriyle hızınızı artırın, sınavda fark yaratın! Dijital Pazarlama Kursu ile 4 adet eğitimi tek bir pakette alabilirsiniz. Grafik Tasarım, Web Tasarım, Video Montaj ve Sosyal Medya Uzmanlığı Kursu 1, 2 günlük değil 18 Günlük Gerçek Sosyal Medya Uzmanlığı Eğitimi Ankara'da Başlıyor. Kayıt için geç kalmayın, hemen arayın. Microsoft Ağ ve Sistem Uzmanlığı Kursu ile MCSE sınavlarına gerçek anlamda hazır olun. %100 Uygulamalı ve eğlenceli bir kurs için hazır mısınız? Linux Sistem Yönetimi ile gerçek sektör tecrübesi olan eğitmenlerden uygulamalı harika bir eğitim alın. Yeni iş fırsatlarına yelken açın. Gerçek Cisco cihazlarıyla uygulamalı bir eğitim alın. Kurs sonunda CCNA sınavına hazır olmuş olarak kurumumuzda CCNA sınavına girebilirsiniz. Linux sunucu tarafında en çok kullanılan işletim sistemidir. Alanında uzman eğitmenlerden uygun fiyata harika bir Linux Ağ ve Sistem Uzmanlığı Eğitimi alın.