Numaralandırmalar(Enumaration) Tanımlama şekli; Enum isim{ numaralandırma listesi }; Burada isim numaralandırmaya verilen tip ismini, numaralandırma listesi de “,” ile ayrılan tanımlayıcıların listesini belirler. Bu listede ilk değer 0’dan başlar ve 1 artarak devam eder.
C# PROGRAMI OLUŞTURMAK using System; class üniversite{ enum bolumler { //burada tanımlanan tüm sabitler int(varsayılan) türündedir Bilgisayar_öğretmenliği, Elektronik_öğretmenliği, Elektrik_öğretmenliği, Yapı_öğretmenliği, Otomotiv_öğretmenliği } public static void Main() { bolumler b; for (b=bolumler.Bilgisayar_öğretmenliği; b<=bolumler.Otomotiv_öğretmenliği;b++) { Console.WriteLine("{0} 'nın etiketi ={1,4:d}",b,(int)b);
using System; class üniversite{ enum bolumler: byte { // tüm sabitler byte türündedir Bilgisayar_öğretmenliği, Elektronik_öğretmenliği, Elektrik_öğretmenliği, Yapı_öğretmenliği, Otomotiv_öğretmenliği } public static void Main() { bolumler b; for (b=bolumler.Bilgisayar_öğretmenliği; b<=bolumler.Otomotiv_öğretmenliği;b++) { Console.WriteLine("{0} 'nın etiketi ={1,4:d}",b,(int)b);
C# İSİM ALANLARI VE SYSTEM İSİM ALANI using System; namespace üniversite1 { class fakülte { public string fak_ad; public string böl_ad; public fakülte(string fak_ad,string böl_ad) { this.fak_ad=fak_ad; this.böl_ad=böl_ad; } } class start { static void Main() { üniversite1.fakülte k=new üniversite1.fakülte("Teknik Eğitim fakültesi","Bilgisayar Öğretmenliği"); Console.WriteLine(k.fak_ad+"\n"+k.böl_ad);
C# İSİM ALANLARI VE SYSTEM İSİM ALANI Aşağıdaki programda ise önceden yazılmış olan bir namespace ’i başka bir programda nasıl kullanıldığını göstereceğiz. using System; namespace üniversite1{ class fakülte { public string fak_ad; public string böl_ad; public fakülte(string fak_ad,string böl_ad) { this.fak_ad=fak_ad; this.böl_ad=böl_ad; }
C# İSİM ALANLARI VE SYSTEM İSİM ALANI using System; using üniversite1; class start1 { static void Main() { üniversite1.fakülte f2=new üniversite1.fakülte("Teknik Eğitim Fakültesi","Elektronik Öğretmenliği"); Console.WriteLine(f2.fak_ad+"\n"+f2.böl_ad); }
C# Temel Tür Yapıları Tamsayı Tipindeki Yapılar using System; class class1 { public static void Main() { string a="25"; int b=Int32.Parse(a); Console.WriteLine(UInt64.MaxValue); Console.WriteLine(UInt64.MinValue); Console.WriteLine(b); } Byte sByte İnt16 uİnt16 İnt32 Uint32 İnt64 Uint64
C# Temel Tür Yapıları Parse() metoduyla ilgili dikkat edilmesi gerekilen bir husus string değişkeninin alfa sayısal karakter içermemesidir. Aynı şekilde Double yapısında da string yapısını Double yapısına dönüştürür. Tamsayı veri yapılarıyla ilgili diğer önemli metotlar da CompareTo(), Equals() ve ToString() metotlarıdır. int a=2; int b=32; b.CompareTo(a) b<a ise -1 b>a ise 1 b==a ise 0 b. Equals(a) b==a ise true b!=a ise false
C# Temel Tür Yapıları Char Tipinde Yapılar char a='a'; Console.WriteLine(char.ToUpper(a)+"\n"); A Diğer yapılar notlarda ToLower(char str) str büyük harf ise küçük harfe çevirir. ToUpper(char str) str küçük harf ise büyük harfe çevirir.
C# Temel Tür Yapıları Boolean Tipinde Yapılar Boolean veri yapısında iki tane özellik vardır. Bunlar FalseString ve TrueString’dir. Bu özelliklerde String türündendir, false ve true yazılarını içerirler. CompereTo(), Equals(), Parse() ve ToString() boolean yapısında bulunan diğer metotlardır. Kendisine has bir metodu yoktur.
//Program that demonstrates TrueString and FalseString [C#] using System; class Program { static void Main() // Write values of these properties. Console.WriteLine(bool.TrueString); Console.WriteLine(bool.FalseString); Console.WriteLine(); Console.WriteLine(bool.TrueString == "True"); Console.WriteLine(bool.FalseString == "False"); } /*Output True False */
C# Temel Tür Yapıları Tarih ve Zaman Tipinde Yapılar C#’ta tarih ve saat işlemleri system isim uzayında bulunan DateTime() ve TimeSpan() yapıları ile gerçekleştirilmektedir. using System; class zaman { public static void Main() { Console.WriteLine("*****************************"); Console.WriteLine("En küçük zaman bilgisi = "+DateTime.MinValue); Console.WriteLine("En büyük zaman bilgisi = "+DateTime.MaxValue); }
C# Temel Tür Yapıları using System; class zaman { public static void Main() { DateTime tarihsaat=new DateTime(); tarihsaat=DateTime.Now; Console.WriteLine(tarihsaat); DateTime tarih=new DateTime(); tarih=DateTime.Today; Console.WriteLine(tarih); } }
C# Temel Tür Yapıları TimeSpan yapısı iki DateTime nesnesi arasındaki farkı temsil eder. using System; class tarih { public static void Main() int yıl,ay,gün; Console.WriteLine("Doğum yılı"); yıl=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Doğum ayı"); ay=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Doğum günü"); gün=Convert.ToInt32(Console.ReadLine()); TimeSpan k=new TimeSpan(); DateTime d1=new DateTime(yıl,ay,gün); k=DateTime.Now-d1; Console.WriteLine("Yaşınız = "+k.Days/365); Console.WriteLine("doğduğunuz gün= "+d1.DayOfWeek); }
C# Temel Tür Yapıları Convert Sınıfı using System; class ortalamaHesapla { public static void Main() { Console.Write("Vize1 = "); int vize1=Convert.ToInt32(Console.ReadLine()); Console.Write("Vize2 = "); int vize2=Convert.ToInt32(Console.ReadLine()); Console.Write("Final = "); int final=Convert.ToInt32(Console.ReadLine()); double a=((double)vize1*0.2+ (double)vize2*0.3 +(double)final*0.5); Console.WriteLine("Ortalama = {0}",a); }
C# Temel Tür Yapıları Temel String(Karakter Dizileri) İşlemleri string a="Merhaba"; a[1]='a'; char[] dizi={'1','2','3','4'}; String str=new String(dizi);
C# Temel Tür Yapıları String.Concat() //ELEMEMANLARIN TOPLU HALDE YAZIMI using System; class Concat { public static void Main() { String str1=String.Concat("Bilgisayar"," Öğretmenliği"); Console.WriteLine(str1); String str2=String.Concat("Z","5","s","3","f"); Console.WriteLine(str2); String str3="Bilgisayar"+" Öğretmenliği"; Console.WriteLine(str3); String str4=String.Concat(5,"A"); Console.WriteLine(str4); }
C# Temel Tür Yapıları String.Compare() using System; class class1 { public static void Main() { string a="Aa"; bool sa=true; string v="aa"; int c=String.Compare(a,v,sa); Console.WriteLine(c); }
C# Temel Tür Yapıları Arama İşlemleri-IndexOf Karakter bulunmaz ise -1 döndürür. Birden fazla “n” varsa ilk n ’nin index numarasını döndürür. using System; class arama{ public static void Main() { string yazı="firat üniversitesi"; Console.WriteLine(yazı.IndexOf("ver")); Console.WriteLine(yazı.IndexOf('t')); Console.WriteLine(yazı.IndexOf('c')); } Diğer arama metotları ders notkarında mevcut
C# Temel Tür Yapıları Budama ve Doldurma İşlemleri Trim(): stringin başındaki ve sonundaki boşlukları silmek string Trim() string Trim(params char[] dizi) İkinci metotta stringin başından ve sonundan karakterler silinir.
C# Temel Tür Yapıları stringin başına ve sonuna karakterler eklemek string PadRight(int boyut);//stringin uzunluğu boyuta eşit olana kadar stringin sağına boşluk ekler string PadRight(int boyut,char a);//stringin uzunluğu boyuta eşit olana kadar stringin sağına 'a' karakterini ekler string PadLeft(int boyut);//stringin uzunluğu boyuta eşit olana kadar stringin soluna boşluk ekler string PadLeft(int boyut,char karakter);//stringin uzunluğu boyuta eşit olana kadar stringin sağına 'a' karakterini ekler
C# Temel Tür Yapıları Split() ve Join() Metotları string [] Split(params char[] ayırıcı) string [] Split(params char[] ayırıcı, int toplam) İkinci metotta ise bu parçalama işlemi en fazla toplam sayısı kadar yapılır. using System; class Ayırmaişlemi { public static void Main() string str="Eektronik Bilgisayar Eğitimi Bölümü"; char[] ayırıcı={' '}; string[] ayır=str.Split(ayırıcı); foreach(string i in ayır) Console.WriteLine(i); }
C# Temel Tür Yapıları Split() ve Join() Metotları static string join(string ayırıcı,string[] yazılar) static string join(string ayırıcı,string[] yazı,int başla,int toplam) İkinci metotta ise [basla] ‘dan itibaren toplam kadar yazı elemanı birleştirilir. using System; class bireştirmeişlemi { public static void Main() string[] str={"Eektronik" ,"Bilgisayar" ,"Eğitimi" ,"Bölümü"}; string birleş=String.Join(" ",str); Console.WriteLine(birleş); }
C# Temel Tür Yapıları using System; class digermetotlar { public static void Main() string str="Elektronik Bilgisayar Eğitimi Bölümü"; str=str.ToUpper(); Console.WriteLine(str+"\n"); str=str.ToLower(); str=str.Remove(11,10); str=str.Insert(11,"Bilgisayar"); str=str.Replace('B','S'); str=str.Substring(11); }
C# Temel Tür Yapıları Yazıları Biçimlendirme using System; class Biçimlendiriciler { public static void Main() float f=123.45F; int a=12; Console.WriteLine("{0:D5}",a); Console.WriteLine("{0:E3}",f); Console.WriteLine("{0:F4}",f); //virgülden sonra 4 rakam }
C# Temel Tür Yapıları String.Format() ve ToString() Metotları İle Biçimlendirme using System; class StringFormat { public static void Main() int a=12; string str=String.Format("{0:d3}",a); Console.WriteLine(str); } class Tostring string str=a.ToString("C3"); //virgülden sonra 3 rakam
C# İstisnai Durum Yakalama try: Kaynak koddaki hataların bulunacağı kod bloklarını temsil eder. catch: try bloğundan fırlatılan hatayı yakalayarak bunu mantıksal bir şekilde kontrol altına alır. Birden fazla olabilir. finally: try bloğundan çıktıktan sonra kesinlikle yazılması gereken kod buraya yazılır. throw: Kural dışı bir durumu elle fırlatmak için kullanılır. İstisnai durum yakalama mekanizması aşağıda verilmiştir. try { //hatanın fırlatıldığı bölüm } catch(kuraldışı_tip a) //kural dışı ip için yönetici finally //kaynakların temizlenmesi
C# System isim uzayında tanımlı, sıkça kullanılan kural dışı durumlar aşağıda verilmiştir ArrayTypeMismatchException: Depolanmakta olan değerin tipi dizi tipi ile uyumsuz. DivideByZeroException: Sıfıra bölünme hatasında fırlatılır. IndexOutOfRangeException: Dizi indexi sınıf dışına taştığında fırlatılır. InvalidCatsException: Programın çalışması sırasında geçersiz tür dönüşümü yapıldığında fırlatılır. OverflowExcepiton: Aritmetik taşma meydana geldiğinde fırlatılır. NullReferanceExcepiton: Null referans üzerinde işlem yapıldığında fırlatılır. StackOverflowException: Yığın taşmıştır. FormatException: Metotlarda yanlış formatta parametre gönderildiğinde fırlatılır. ArithmeticExcepiton: Bu sınıf ile DivideByZeroException ve OverflowException hataları yakalanabilir. Aritmetik işlemler sonucunda oluşan istisnai durumlarda fırlatılır. OutOfMemoryExcepiton: Programın çalışması içi yeterli bellek miktarı olmadığında fırlatılır.
C# using System; class hatayakalama1 { public static void Main() try int a=50,b=0; Console.WriteLine(a/b); } catch(DivideByZeroException e) Console.WriteLine("Sıfıra bölünme hatası yakalandı"); finally Console.WriteLine("\n program sonlandırılıyor");
C# exception sınıfının önemli üye elemanları Message: Hatanın özünü tarif eden bir karakter katarı içerir. Source: catch bloğunda yakalanan istisnai durum nesnesinin gönderildiği uygulamanın ya da sınıfın adıdır. HelpLink: Fırlatın hata ile ilgili yardım dosyasının yol bilgisini saklar. StackTrace: İstisnai durumun fırlatıldığı metot ve programla ilgili bilgi içerir. TargetSite: İstisnai durumun hangi metot tarafından üretildiğini belirten bir nesne alır. InnerException: Eğer catch bloğu içerisinde bir hata fırlatılırsa catch bloğuna gelinmesini sağlayan istisnai durumun exception nesnesidir.
C# throw anahtar Sözcüğü throw ifadesini kullanarak bir kural dışı durumu elle fırlatmak mümkündür. Örneğin try bloğu içerisinde bir IndexOutOfRangeExcepiton hatasını fırlatmak için; throw new IndexOutOfRangeException("dizinin sınırları aşıldı"); yazılır. Burada throw ile beraber new anahtar sözcüğünü kullanmak şart değildir. İstisnai durum nesnesini oluşturup throw ile aşağıdaki gibide fırlatabiliriz. IndexOutOfRangeException e=new IndexOutOfRangeException("dizinin sınırları aşıldı"); throw e;
C# using System; class hatayakalama1{ public static void Main(){ try { int a=50,b=0; throw new DivideByZeroException("sıfıra bölünme hatasıyakalandı"); Console.WriteLine(a/b); } catch(DivideByZeroException e) { Console.WriteLine(e.Source); Console.WriteLine(e.TargetSite); Console.WriteLine(e.ToString()); Console.WriteLine("program bilgisi : "+e.StackTrace); } finally { Console.WriteLine("\n program sonlandırılıyor"); } }