
Merhabalar biraz uzak kaldım kusura bakmayın dersler sınavlar dolayısıyla , fakat artık devam edebiliriz .
Bu dersimizde Enum ve Struct yapılarından bahsedelim .
Enum Sabitleri
Enum bir değişken tipidir aslında , belli başlı sistematik bir şekilde sabitleri semboller kullanmak saklamak istediğimiz değişkenlerdir.
Enumlar class seviyesinde tanımlanan sabitlerdir. Daha önceki derslerimizde verildiği üzere snippets’lar kullanılabilir . Yani enum yazıp tab tuşuna iki kere bastığınızda karşınızda enum ibaresi çıkıyor .
Çıkan ibarede MyEnum ismini kendinize göre isimlendirebilirsiniz.
Örneğin okul not başarısı ile ilgili bir örnek yapacak olursak. Bu örnekte giriş alınana bir sayısal veriye karşılık gelebilecek sözel değerlendirmeyi inceleyecek olursak .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
namespace ConsoleApplication3 { // NotBasari ismindeki sabit sıralama değişkeni oluşturuyoruz . enum NotBasari // :byte diye de sıralama yapabilirsiniz . { Sıfır, // Burada da bizim verdiğimiz NotBasari ile sorgulanan sabit string değişkenler. Başarısız, Geçer, orta, iyi, Pekiyi } class Program { static void Main(string[] args) { Console.WriteLine("Notunuzu Giriniz;"); // Not Girişini istiyoruz 0-5 arasında NotBasari not=(NotBasari)int.Parse(Console.ReadLine());//Burada alınan string değeri int değerine çevrilir Console.WriteLine("Başarınız {0}", not); // Ekranda başarı derecesini yazdırıyoruz. Console.WriteLine("Bir Tuşa Basın"); // Kapatma kısmı Console.ReadLine(); } } } |
Enumlar bizim için sıra sıra kod yazmamızı gerektirmeden tek kod ile bazı değerleri simgesel olarak göstememizi sağlar. Enumları kullanarak program yapımızı anlaşılır ve olmasını kolaylaştırabiliriz.
Enumlar sadece sayıdan simgesele mi doğrudur ? Hayır yaptığımız işlemlerin tam tersi de mümkün .
Sembollerden sayılara giden bir program örneği yapmamız gerekirse ,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
namespace ConsoleApplication3 { enum Gun :byte { sifir,basarisiz,kotu,orta,iyi,pekiyi } class Program { static void Main(string[] args) { byte a = (byte)Gun.orta; Console.WriteLine(a); Console.WriteLine("bekleyin"); Console.ReadLine(); } } |
Struct Sabitleri
Struct yapısı kullanılış açısından class yapısına benzer bir yapıdır . Struct yapıları çoklu değişkenleri bir başlık altında toplamamıza yarar.
Struct yapılarını kullanırken snippet’ları kullanabilirsiniz . Örneğin bir şeyi tanımladığınızda onun bir kaç bilgisini göstermek istediğinizde bu yapıyı kullanmak işinizi haylı rahatlatacaktır . Aşağıda açıklanacak öğrenci örneğinde olduğu gibi , öğrenci numarası , ismi , soyismini tutacak bir struct yapısını inceleyelim .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
namespace ConsoleApplication3 { struct Ogrenci // Öğrenci yapısında struct oluşturduk { public int Ogrno { get; set; } // prop deyip iki kere tap tuşuna basın int değişkeninde public string isim { get; set; } // String değişkeninde public string soyisim { get; set; } //string Değişkeninde } class Program { static void Main(string[] args) { // Bu kısımda da struct yapısının içeriğini bu değerlerle dolduruyoruz . Ogrenci ogren = new Ogrenci(); // öğrenci tipinde bir ogren değişkeni oluşturmuş olduk ogren.Ogrno = 1500; ogren.isim = "Murat"; ogren.soyisim = "Bilge"; Ogrenci ogren1=new Ogrenci(); ogren1.Ogrno = 1017; ogren1.isim = "Eda"; ogren1.soyisim = "Piskin"; Console.WriteLine("İsim {0} \n Soyad {1}\n Numara {2}", ogren.isim, ogren.soyisim, ogren.Ogrno); Console.WriteLine("İsim {0} \n Soyad {1}\n Numara {2}", ogren1.isim, ogren1.soyisim, ogren1.Ogrno); Console.WriteLine("Çıkmak için bir tuşa basın!"); Console.Read(); } } } |
Bundan sonraki dersimizde if-else , switch-case yapılarından bahsedeceğiz. Bir yere ayrılmayın hemen dönücem 🙂
Görüşmek üzere iyi çalışmalar dilerim .
Merhaba;
Convert.ToInt32(belirli sayı aralığı var!);
İnt.Parse(sayı aralığı nedir?);
bizim çevirmek istediğimiz değişkenin sınırına göre değişir . İnt 32 bite kadar ise 32 bite kadar olur .
Mesela double.Parse() kullanırsanız bu sınır değişecektir . Double sınırına göre olacaktır bu sınır artık .
Hımm Tamam ya anladım! (Zaten cvp önündeymiş hahaha) int.parse
Double.parse
Gibi ….