C# Console

C# Console

  • C# Metotlar

    C# Metotlar

    Metotlar tekrar tekrar kullanabileceğimiz kod satırlarıdır. Avantajları çok fazladır. daha sonra kul...

  • C# Degiskenler

    C# Degiskenler

    Variables değişken anlamına gelmektedir. C#’da her değer için bir veri tipi bulunur.Belli bir ...

  • C# Döngüler (Karar Yapilari)

    C# Döngüler (Karar Yapilari)

    Karar Yapıları; Belirlenen koşulun sonucuna göre istediğimiz işlemi tercih etmesini sağlayan yapılar...

  • C# Giris

    C# Giris

    Aşağıdaki tanımlar Console Application uygulamasında sürekli ihtiyaç duyulan ve kullanılan kod cümle...

  • C# Syntax

    C# Syntax

    static void Main(string[] args) {  Main metodunun yaşam alanı Random rastgelesayi = new Random(); va...

C# Metotlar

Metotlar tekrar tekrar kullanabileceğimiz kod satırlarıdır. Avantajları çok fazladır. daha sonra kullanabileceğimiz işlemler için tekrar tekrar aynı kod içeriğini yazmak yerine tek bir metot içinde tanımlayıp oradan çağırabiliriz. kodun okunabilirliği ve anlaşılırlığı için metotlar çok önemlidir.

Metot Tanımlama

Metotlar daima class içinde tanımlanır.

Erişimşekli(Private,Public,Static) –  dönüş-tipi (int,string vb) – metotadi (parametre listesi)

{

metotun içerisinde çalışacak kod satırları

}

Methotlar: Geriye değer döndürürler
VOID: Geriye değer döndürmezler

VOID’lerin içerisinde RETURN kullanılabilir. Ama sağında bir değer olamaz.
Methotların değer döndürenlerinde ise return zorunludur. ve return’ün sağında bir değer olmak zorundadır.

/// <summary>
///  Bu yapı methodun ne yaptığını açıklayıcı bir yazı içerir metodun üstünde /// yazarak alt satırlar çıkar.
/// </summary>

Örnek

static void Main(string[] args)
{
YaştanDoğumYılıHesapla();  --Main metodumuz içinde metodumuzu çağırıyoruz.
Console.ReadLine();
}

static void YaştanDoğumYılıHesapla() -- Geriye değer döndürmeyen yani VOID bir metot oluşturduk.
{
Console.WriteLine("Yaşınızı Giriniz"); --Yaşımızı metotumuz içinde girdik
int yas = Convert.ToInt32(Console.ReadLine()); -- ReadLine ile okuduk int türüne dönüştürüp yas adında bir değişkene atadık.
int dogumyili = DateTime.Now.Year - yas; --Sistem yılından girdiğimiz yaşı çıkarıp dogumyili adlı değişkene atadık.
Console.WriteLine("{0} yılında doğmuşsunuz.. ", dogumyili); --Ekrana doğum yılımızı yazdırdık.
}

Örnek

static void Main(string[] args)
{
Console.WriteLine("Adınızı Giriniz"); --Ekrana adımızı girip string tipinde bir değişkene atadık.
string isim = Console.ReadLine();

Console.WriteLine("Soyadınızı Giriniz"); --Ekrana soyadımız girip string tipinde bir değişkene atadık.
string soyad = Console.ReadLine();

string methottanGeriyeDönenDeğer= AdSoyadBirlestir(isim, soyad); --Geriye değer döndüren AdSoyadBirlestir metodunu main metodunda çağırıyoruz. Dönen değeri string tipinde&nbsp;methottanGeriyeDönenDeğer isimli değişkene atıyoruz.
Console.WriteLine(methottanGeriyeDönenDeğer); -- Dönen değeri ekrana yazdırıyoruz.

Console.ReadKey();
}

static string AdSoyadBirlestir(string ad, string soyad) --AdSoyadBirlestir adında string bir metot oluşturuyoruz ve bu metodumuz 2 tane string tipinde parametre alıyor ad ve soyad olarak
{
string sonuc = ad.Trim() + " " + soyad.Trim().ToUpper(); --Aldığı parametre değerlerini birleştiriyor ve soyadı büyük yazdırıyor. ve bu işlemleri string tipinde sonuc değişkenine atıyor.

return sonuc; --sonuc değişkeninde tutulan bilgileri bu metodu çağıran yerlere gönderiyor.

}

C# Hata Yakalama

.NET Framework ortamında hatalar try-catch bloğuyla yakalanır. try, hata oluşabilecek kod satırlarını içinde barındırdığı bloktur. catch ise try içindeki kod  satırlarında hata oluşursa catch kısmına düştüğü bloktur. Yani özetle TRY içerisinde bir hata olursa uygulamanın akşının ne olacağı CATCH bloğunda yazar.
Finally alanı ise kodun sorunsuz çalıştığı alandır. try ve catch bloğundaki işlemlerden sonra devreye girer isteğe bağlı olarak kullanılır.

try
<span style="line-height: 1.5;">{
</span><span style="line-height: 1.5;">   Hataya sebep olabilecek kodlar.
}
catch
{
Hata oluşması halinde çalışacak kod bloğu
}
finally
{
Hata olsada olmasada çalışacak kodlar
}

3 çeşit hata türü vardır.

Syntax hataları:  Yazılan kod bloğunda yanlış bir ifade kullanılmışsa bu kodun derlenmesine engel olacaktır o yüzden hata düzeltilip öyle çalıştırılabilir.

Runtime Hataları: Kodun çalışmasını engeller. Yanlış bir işlem akışının olduğunu belirtir TRY-CATCH ile bu tür hatalar giderilmeye çalışılır.Örn. String bir ifadenin int tipine dönüşemeyeceği için verilen “input string” hatası bir runtime hatasıdır. Bu durumda hatanın olcağı durumda try içine kodumuzu yazarız ve catch bloğunda mesaj verdirebilir “dönüşüm hatası” vb.

Mantık Hataları: Kodun çalışmasını engellemez yalnız bir çok hatalı işleme sebep olabilir bir sayısal işlem hatası en güzel örnektir bir kod satırında bölme işlemi yerine çarpma işlemi yaparsan bu bir zarar teşkil edeceğinden bu tarz hatalara mantık hataları denir.

 

 

C# Döngüler (Karar Yapilari)

Karar Yapıları; Belirlenen koşulun sonucuna göre istediğimiz işlemi tercih etmesini sağlayan yapılardır.

Karar yapıları if sözcüğüyle özdeşleşmiştir.

IF – ELSE IF – ELSE

IF(koşul)   "Parantezin içine yazılan koşul sağlanırsa eğer IF bloğunun altındaki kodlar çalışır eğer sağlanmazsa ELSE bloğu devreye girer."
{
Bu kodu çalıştır
}
ELSE
{
Bu kodu çalıştır
}

Örnek:

Console.WriteLine("Yaşınızı girin");  --Ekrana Yaşımızı Girdik
var yas = Convert.ToInt32(Console.ReadLine());  --ReadLine komutu ile okuyup İnt tipine dönüştürüp yas değişkenine atadık.

if (yas < 40) -- Koşulumuz ekrana girdiğimiz yaş değerinin 40 dan küçük olması halinde ekrana "Genç" yazdır
{
Console.WriteLine("Genç");
}
else   --Değilse "Yaşlı" yazdır.
{
Console.WriteLine("Yaşlı");
}
Console.ReadKey();

Yazdığımız koşullardan  birden fazla sonuç dönüyorsa ELSE IF ifadesi kullanılabilir. Aşağıda kullanım örneği bulunmaktadır.
Aşağıdaki kullanım biçimine uymak zorunda değilsiniz yani şöyleki bir if koşulunda sadece tek if ilede işimizi görebilirsek. else ifadesini yazma zorunluluğumuz bulunmamakadır. istediğimiz kadar else if kullanabiliriz ve sonuna else ifadesini yine kullanmak zorunda değiliz. Else ve Else if ifadesi if olmadan tek başına kullanılamaz.

IF(koşul1)
{
Bu kodu çalıştır     --Yazdığımız koşul sağlanırsa bu satır çalışır.
}

ELSE IF(koşul2)
{
Bu kodu çalıştır    --Eğer Yukarıdaki koşul sağlanmazsa bu satır çalışır.
}
ELSE IF(koşul3)
{
Bu kodu çalıştır   --Yukarıdaki koşulda sağlanmaza bu satır çalışır.
}
ELSE
{
Bu kodu çalıştır   --Hiçbir koşul sağlanmazsa bu satır çalışır.
}

Switch Case

Bir koşulun belli bir değer ile karşılaştırarak ilgili işlemi seçtiren ifadedir.

Switch(Değişken Adı)    { --Tanımladığımız int string vb. tiplerindeki değişken adımızı buraya yazarız.
Case Değer1:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade bu case de yer alıyorsa bu satır çalışır.
Break;
Case Değer2:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade bu case de yer alıyorsa bu satır çalışır.
Break;
Case Değer3:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade bu case de yer alıyorsa bu satır çalışır.
Break;
Default:
Bu kodu çalıştır --Eğer Değişkenimizin içindeki ifade hiç bir case de yer almıyorsa bu satır çalışır.
Break;

}

Örnek:

Console.WriteLine("2 ile 4 arasında bir rakam giriniz.");
var rakam =Convert.ToInt32( Console.ReadLine());
switch(rakam)
{
case 2:
Console.WriteLine("Sayı 2");
break;
case 3:
Console.WriteLine("Sayı 3");
break;
case 4:
Console.WriteLine("Sayı 4");
break;
default:
Console.WriteLine("2 ile 4 arasında rakam girmediniz.");
break;
}
Console.ReadKey();

While

Çoğu zaman yazdığımız kodların tekrar ettiğini farkederiz, ve bu tekrar eden kodlar bir karışıklığa sebep verebilir, o yüzden tekrar etme sebebi bir döngü kurulmasıysa while ile döngümüzü kurar o tekrarlardan kurtulmuş oluruz. While kullanırken yazacağımız koşul sağlanırsa süslü parantez içindeki kod satırlarımız çalışacaktır. eğer koşul sağlanmazsa döngüye girmeden diğer kod satırlarına geçecektir.

Örnek

int sayi=0 --  int türünde sayi adında bir değişken oluşturduk ve değerini 0'a eşitledik.

while(sayi<10) --  while ile döngümüzü kurduk sayi 10 dan küçük olduğu müddetçe süslü parantezin içindeki kod satırı çalışacak.

{
Console.WriteLine(sayi);
sayi++; -- sayimizin değerini ekrana yazdırdıktan sonra 1 er 1 er arttırdık. 0'dan 9'a kadar ekrana yazdıracaktır.
}

For

Esnek bir yapıya sahip döngü çeşididir. ayrı bir döngüye ihtiyaç duymayan bir döngüdür.

Örnek


for (int sayi=0; sayi<10; sayi++)  --int tipinde değişken tanımlayıp 0 atadık. yani başlangıç değerimizi belirtmiş olduk. sayi 10 dan küçük olduğu müddetçe koşulunu yazdık yani bitiş değerini belirtmiş olduk ve son olarak artış miktarını belirttik.

{
Console.WriteLine(sayi); -- Koşul her sağlandığında ekrana 1'er 1'er artan rakamı yazacaktır. 0'dan 9'a kadar ekrana yazar.
}

do while

do while ile kod satırı çalışır, koşul en son sorulur eğer koşul sağlanırsa döngü sürdürülür while ile arasındaki tek fark budur. while döngüsünde koşul sağlanırsa döngüye girilir. do while da koşul sağlanmasada en az 1 kere o kod çalışır.

int[] sayilar{10,32,43,65};  --int tipinde bir dizi oluşturduk ve içine 4 tane sayı girdik.
int toplam=0; -- int tipinde toplam adında bir değişken tanımladık değerini 0 atadık.
int sayac=0;  -- int tipinde sayac adında bir değişken tanımladık değerini 0 atadık.

do
{
toplam+=sayilar[sayac]); -- sayilar dizimizdeki sayac değeri kaçsa o indisteki sayıyı toplam değişkeniyle toplayıp toplamda tutuyor.
sayac++; -- sayac değişkenimizi 1'er 1'er arttırıyor.
}
while(sayac<sayilar.length);  --koşulumuz burada sayacı sayıların uzunluğu kadar arttır demek istiyor.

Conditional Breakpoint

Aşağıdaki örnekte debug’da iken breakpoint noktasına sağ tıklayıp Conditions seçip sayac==1500 yazdık ve F5 ile devam ettik sayaç değişkeni 1500’e eşit olduğunda breakpointte duracaktır.

int sayi =0;
while(sayi<2000)
{
Console.WriteLine(sayi++);
}
Console.ReadKey();

C# Giris

Aşağıdaki tanımlar Console Application uygulamasında sürekli ihtiyaç duyulan ve kullanılan kod cümleleridir.
Console.WriteLine: Ekrana veri yazdırmak için kullanılan bir ifadedir. İmleç yazdıktan sonra alt satıra geçer.
Console.Write: Ekrana veri yazdırmak için kullanılan bir ifadedir. İmleç yazının yanında yanıp söner.
Console.ReadLine: Ekrana yazdığımız veriyi ekranda görmemizi sağlayan ifadedir.
Console.Readkey: Ekrandaki veriyi gördükten sonra ekranı kapatmak için klavyeden bir tuşa basmamızı bekler.

Var: tüm data tiplerinde değişken atamak için kullanılır.
Aşağıdaki örneklerimizde değişken tanımlamalarında var ifadesi kullanacağız.

Aşağıdaki kod satırlarını inceleyiniz. Aynılarını sizde kendi cümlelerinizi kullanarak yazınız. Aşağıdaki kod satırlarında önce WriteLine ile ekrana bir yazı yazdırıyoruz. ve yazıya cevap vermek için klavyeden bir değer giriyoruz. Girdiğimiz bu değeri Console.ReadLine ifadesiyle okuyoruz ve var ifadesiyle ad değişkenimize atıyoruz. Şimdi bizim klavyede yazdığımız cevap ad diye tanımladığımız değişkenimizde bunu ekrana tekrar yazdırabilmek içinde Console.WriteLine içinde (ad) yazarak gösterebiliriz.

Console.WriteLine("Merhaba Canım Adın Ne Senin Bakalım");
var ad=Console.ReadLine();
Console.WriteLine("Hmm demek adın " + ad + " Çok güzel adın varmış");
Console.WriteLine("Peki ne iş yapıyorsun");
var meslek = Console.ReadLine();
Console.WriteLine(meslek + " Mesleğinde Çok iyi para var çok iyi meslek seçmişsin ");
Console.WriteLine("Hangi Üniversite mezunusun");
var üni=Console.ReadLine();
Console.WriteLine("aaaa..! bende "+üni +" mezunuyum seni hiç okulda görmedim");
Console.WriteLine("Peki nerede oturuyorsun");
var sehir=Console.ReadLine();
Console.WriteLine("hep gitmek istemişimdir "+ sehir+ " 'ya");
Console.WriteLine("En çok ne yapmaktan hoşlanırsın");
var hobi = Console.ReadLine();
Console.WriteLine("sadece " + hobi + " mı? başka nelerden hoşlanırsın");
var hobi2 = Console.ReadLine();
Console.WriteLine("Anladım ben pek sevmem" + hobi2 + " 'yı");
Console.WriteLine("eee sustun konuşsana ailenlemi yaşıyorsun ");
var aile = Console.ReadLine();
Console.WriteLine("hmmm.. Güzelmiş 🙂 ");
Console.WriteLine(" Peki Hangi Müzikleri seversin");
var müzik = Console.ReadLine();
Console.WriteLine("bende çok severim" + müzik + " dinlemeyi");
Console.WriteLine("Peki ne tür filmler seversin");
var film = Console.ReadLine();
Console.WriteLine("Bende bayılırım" + film + " seyretmesine");
Console.WriteLine("Hangi kitapları okumasını seversin");
var kitap = Console.ReadLine();
Console.WriteLine("bende" + kitap + " okumasını severim");
Console.WriteLine("sinemaya gidelim desem hangi filme götürürsün beni");
var sinema = Console.ReadLine();
Console.WriteLine("peki neden " + sinema + "?");
var sebep = Console.ReadLine();
Console.WriteLine( sebep + " ama ben pek sevmem aklında bulunsun");
Console.WriteLine("Çok sıkıcısın anlatsana biraz mesela kaç kardeşsiniz");
var kardes = Console.ReadLine();
Console.WriteLine("demek " + kardes + " kardeşsiniz benimde 3 kardeşim var");
Console.WriteLine("Nerelerde gezmeyi seversin");
var gezme = Console.ReadLine();
Console.WriteLine("bende " + gezme + " gezmesini severim");
Console.WriteLine("Hangi ülkelere gittin");
var ülke = Console.ReadLine();
Console.WriteLine("Aaaaa"+ ülke +" gitmeyi bende çok istiyorum");
Console.WriteLine("hangi burçsun peki");
var burc = Console.ReadLine();
Console.WriteLine(burc + " burcunun özellikleri muhteşemdir.");
Console.WriteLine("Annen ne iş yapıyor");
var anneiş = Console.ReadLine();
Console.WriteLine("Ne güzel " + anneiş + " olmak");
Console.WriteLine("baban ne iş yapıyor");
var babaiş = Console.ReadLine();
Console.WriteLine("babanında mesleği güzelmiş benim babamda önceden " + babaiş + " işini yapmıştı");
Console.WriteLine("Hadi Yarın Görüşürüz Aynı Saatte :)");

 

C# Array (Dizi)

Array yani dizi anlamına gelir. Aynı türden birden fazla nesnelerin bellekte tutulmasına denir. Örneklerle konunun pekiştirilmesine yardımcı olacağız.

WriteLine 4 tane şehir adı

Aşağıda yaptığımız örnek ile 4 tane şehir adını 4 farklı string değişkene atayarak ekrana yazdırdık.

string sehir1 =”Ankara”;
string sehir2=”Antalya”;
string sehir3=”Sinop”;
string sehir4=”Muğla”;

Console.WriteLine(sehir1);
Console.WriteLine(sehir2);
Console.WriteLine(sehir3);
Console.WriteLine(sehir4);

Yukarıda yaptığımız işlemi birde dizi oluşturarak yapalım.

string[] sehirler= new string[4];  (4 elemanlı sehirleri tutabilecek string tipinde bir dizi oluşturduk.)

sehirler[0]=”Ankara”;
sehirler[1]=”Antalya”;
sehirler[2]=”Sinop”;
sehirler[3]=”Muğla”;

sehirler[4]=”İzmir”; 4 eleman tutabilecek bir dizi oluşturmamıza rağmen index 4 deki eleman hata verecektir. çünkü indexler 0 dan başlar.

int[] sayilar=new int[4];  (4 elemanlı sayıları tutabilecek int tipinde bir dizi oluşturduk.)

sayilar[0]=195;
sayilar[1]=254;
sayilar[2]=45631;
sayilar[3]=123;

string[]hayvanlar= new string[] {“Tavşan”, “Kedi”,”Köpek”,”Kuş”};   (Farklı bir  tanımlama yöntemide bu şekildedir. içine tutabilecek eleman sayısını vermedende dizinin alcağı değeri yazarak istediğimiz kadar dizi oluşturabiliriz.)

Console.WriteLine(hayvanlar[2]) Bize ekrana köpek yazdıracaktır.
Console.ReadKey();

Array kapasitesini arttırmak için “Array.Resize” deyimi kullanılır. Yukarıda sayilar adında oluşturduğumuz int tipindeki dizimizin Aşağıdaki örnekte eleman değerini 4 ten 5 e çıkarmak istedik ve 4. index değerimiz yani 5. elemanımızın değerini atadık.

Array.Resize(ref sayilar, 5);
sayilar[4] = 122;

Double dizi: Microsoft bize Tüm data tiplerinde dizi oluşturma imkanını sunmuştur. Aşağıdaki örnekte double tipinde dizimizi oluşturuyoruz.

double[] ondalikliler = new double[3];  3 elemanlı bir dizi
ondalikliler[0] =3.15;
ondalikliler[1] =1.45;
ondalikliler[2] = 4.78;

Length =Bize girdiğimiz ifadenin karakter sayısını verir.
int KacHarfli=(“Önder”).Length; (Önder kelimesinin kaç harfli olduğunu bize ekranda gösterecektir.)

int KacElemanli = ondalikliler.Length;  (Bize dizide ki eleman sayısını verecektir.)

Array resize ile dizinin kapasitesini arttırıyorduk. eğer dizimizin kaç değer olduğunu bulmakta zorlanırsak aşağıdaki örnekle length ifadesini kullanarak bir dizinin uzunluğunu öğrenip ve kaç arttırmak istiyorsak + ile ekleyebiliriz.
Array.Resize(ref ondalikliler, ondalikliler.Length + 1);

Array.Sort: A-Z ye sıralar.                   Array.Sort(sehirler);
Array.Reverse:
Z-A ya sıralar.           Array.Reverse(sehirler);
Array.Clear: Diziyi temizler.               Array.Clear(sehirler, 0, 2);
Array.Copy: Önceden tanımlanmış bir dizi başka bir diziye kopyalanır. Aşağıdaki örnekte 7 elemanlı yeni bir dizi oluşturduk. ve Array.Copy ifadesi ile önceden tanımlı dizimizin değerlerini yeniSehirler dizimize kopyaladık. Sehirler dizisinde olan 4 değeri alıp yeniSehirler dizisine kopyaladı ve diğer 3 değeri null bıraktı.

string[] yeniSehirler = new string[7];
Array.Copy(sehirler, yeniSehirler , sehirler.Length);

Clone: Önceden tanımladığımız diziyi klonluyor. yani elemanlarıyla birlikte eleman sayısına kadar aynısını yeni oluşturulan bir diziye aktarıyor. Aşağıdaki örnekte sehirler dizimizin aynı eleman sayısı ve aynı elamanlarıyla birlikte klonlanmışSehirler dizisine aktardık.

string[] klonlanmışSehirler= sehirler.Clone() as string[];

Operatörler
+ sayıları toplar, stringleri birleştirir.
– sayıları çıkarır
* sayıları çarpar
/ sayıları böler
+= kendine ekle
-= kendinden çıkarır
*= kendiyle çarpar
/= kendine böl
%= kendine mod al
== eşit midir
!= eşit değil midir
< küçük müdür
> büyük müdür
<= küçükmüdür ya da eşitmidir
>= büyükmüdür yada eşitmidir
& VE
&& VE
| ya
|| ya da
? Ternary
?? Null mıdır

 

 

 

C# Conversion

Conversion: Tiplerin birbirine dönüşmesi anlamına gelmektedir.

Console.WriteLine(“Kaç yılında doğdun”);
string yil = Console.ReadLine();
int yas = 2016 – Convert.ToInt32(yil);

// int bir tipten, string bir tip çıkarılmaya ve int tipinde bir değişkene atılmaya çalıştığından hata veriyor. convert işlemi yapılır.

 Thread kodu uyutur. Kodu 1.3 saniye bekletir. Thread kodunu kullanmamız için Using.System.Threading kütüphanesini eklememiz gereklidir.

Console.Write(“.”);
Thread.Sleep(1300);
Console.Write(“.”);
Thread.Sleep(1300);
Console.WriteLine(“.”);
Thread.Sleep(1300);

Console.WriteLine(“Yaşın:” + yas);

// yas değişkenini stringe çevirme. stringe dönüştürme yöntemleri. her tip stringe dönüşebilir.
string sonuc1 = yas.ToString();
string sonuc2 = Convert.ToString(yas);
string sonuc3 = yas + “”;

// string birleştirme için;

string sonuc4 = string.Format(“{0} yaşında “, yas);

Console.WriteLine(“{0} yaşındasın.”, yas);
Console.WriteLine(“{0} Önder”,yil);

Console.WriteLine(sonuc4);

Farkı tiplerde Convert işlemleri;

string evet1 = “true”;
bool durum1 =Convert.ToBoolean(evet1);

string evet2 = “tRuE”;
bool durum2 = Convert.ToBoolean(evet2);

int evet3 = 1;
bool durum3 = Convert.ToBoolean(evet3);

int evet4 = 0;
bool durum4 = Convert.ToBoolean(evet4);

Yaşını girince kaç yılında doğduğunu veren sorgu;

Console.WriteLine(“Kaç Yaşındasın”);
string yas = Console.ReadLine();
int sayisalyas = Convert.ToInt32(yas);
int sistemYili = DateTime.Now.Year;
int dogumYili = sistemYili – sayisalyas;

Console.WriteLine(“Doğum Yılı: {0}”, + dogumYili);
Console.WriteLine(“Kapatmak için herhangi bir tuşa basın”);

double ondalikli = 14.4;
int sayi = Convert.ToInt32(ondalikli);
int sayi2 = Convert.ToInt32(14.6);
Console.WriteLine(sayi);
double ondalikli2 = Convert.ToDouble(“19,49”);
Console.WriteLine(ondalikli2);

int rakam = Convert.ToInt32(4);
Console.WriteLine(rakam);
float ondalikli3 = Convert.ToSingle(“15,79”); //ToSingle=Float
Console.WriteLine(ondalikli3);

integer’ın maximum değerini verir.
int enYüksekDeğer=int.MaxValue;
Console.WriteLine(enYüksekDeğer);

integer’ın minumum değerini verir.
int enDüsükDeğer = int.MinValue;
Console.WriteLine(enDüsükDeğer)

Console.ReadKey();

CTS- Common Type System

String isim = “Önder”;
Int32 numara = 54;
Boolean hayir = false;
Single ondalik = 15.9f;

C# Cast

Cast: Benzer tipler arasındaki dönüşüm için kullanılır.
implicit conversion(type-safe’tir. veri kaybı olmaz.)

int sayi = 5000;
long dahaBüyükSayi = sayi;

explicit conversion(veri kaybı vardır. virgüllü ondalikli sayılardan sonra virgülden sonrasını uçurur.)

double ondalikli = 154.95;
int tamSayi =(int)ondalikli;

Console.ReadKey();

aşağıda ki cast işlemi hata verir. Çünkü string tipindeki veriyi int tipindeki bir değişkene atamaya çalışıyoruz.
string yazi=”24561″;
int sonuc=(int)yazi;

Aşağıdaki cast’ten byte’a değer olarak 192 gelir. 56000 % 256
int numara = 56000;
byte kücüksayi = (byte)numara;

Console.WriteLine(kücüksayi);
Console.ReadKey();

C# Syntax

static void Main(string[] args)
{  Main metodunun yaşam alanı
Random rastgelesayi = new Random();
var rastgelesayi2 = new Random();

Console.WriteLine(“Adın ne”);
var ad=(Console.ReadLine()
Console.WriteLine(Console.ReadLine());
Console.ReadKey();

Reserved Keyword
var @void = “önder”;
var @var = 45875;
var @int = “kaya”;

c# için rezerve edilmiş anahtar kelimelerdir. Farklı renklerde görünürler(genelde mavi).
Kullanmayı tavsiye etmiyoruz. fakat illede kullanacaksak başına @ koyarak kullanılabilir.

} Main metodu burada biter.

C# Degiskenler

Variables değişken anlamına gelmektedir. C#’da her değer için bir veri tipi bulunur.Belli bir süre için değer tutarlar yani geçicidirler. Bu değerler Ram’de bulunur.

Şimdi bazı değişken tiplerini inceleyeceğiz.

string: Yazı karakterleri tutmak için kullanılan değişken tipidir.
Örn: String=”Önder Kaya”;

Char:Tek karakter tutmak için kullanılan değişken tipidir.
Örn: Char=”r”; (Debug işlemi sırasında karakterin ASCII değerini de tuttuğunu görebiliriz. )

İnt: Tam sayı değerlerini tutmak için kullanılan değişkendir.
Örn: int=”NegatifVePozitifTamSayı”=145786;

Bool: True yada False değerlerini tutmak için kullanılan değişkendir.
Örn: bool durum0=False;
boll durum1=True;

double: Ondalıklı değerleri tutmak için kullanılır. 15-16 basamak tutar.
Örn: double ondalikli=3.54;

u(unsigned):Negatif tutamaz.
s(signed): Negatif tutabilir.

byte: 0 ile 255 arası değer tutar.
Örn: byte tamsayi=52;

sbyte: -128 ile +127 arası değer tutar.
Örn: sbyte tamsayi2=120;

uint: 0 ile 4294967295 arası değer tutar.
Örn: uint Pozitiftamsayi=451534;

short: -32768 ile 32767 arası değer tutar.
Örn: short Tamsayi3=2500;

ushort: 0 ile 65535 arası değer tutar.
Örn: ushort TamSayiPozitif=234;

long: 9 Kentrilyon ile -9 Kentrilyon arası değer tutar.
Örn: long Tamsayi4=4521785;

ulong:  0 ile 18 kentrilyon arası değer tutar.
Örn: ulongTamsayi5=4553786;

decimal: Ondalikli sayi değerleri için kullanılır.
Örn: decimal ondalikli=4.54M;

Float: Ondalikli sayi değerleri için kullanılır.
Örn: Float ondalikli2=45.78F;

Double: Ondalikli sayi değerleri için kullanılır.
Örn: Double ondalikli3=78.21D;

Object: İçerisinde her şeyi tutabilen bir tiptir. Tip bilinmiyorsa tutulmalıdır.Performansı olumsuz etkiler (Boxing-unboxing)
Örn:object herşey1=”Önder”;
object herşey2 = 5;
object herşey3 =5.4 ;
object herşey4 =’k’;
object herşey5 = false;
object herşey6 = 5.20M;

var: içindeki verilen değerin tipi neyse ona bürünür.
Örn:
var adSoyad = “Önder Kaya”;
var sayi = 9;
var cevap = false;
var pi = 3.14;
var pi2 = 3.14M;
var name = adSoyad; //yani bakıyor adsoyad’a ‘string’, karar veriyor ve o tipe bürünüyor.

Örnekler:

string sehir;
string tipinde şehir isminde değişken tanımladık. Değer atamadık.
Daha önceden tanımlanmış şehir isimli değişkene “İstanbul” değerini atadık.
sehir = “İstanbul”;
sehir = “Adana”;
sehir += “Ankara”; Adana ile Ankarayı birleştirir.

sehir = sehir + “Ankara”;
üsttekiyle aynı işi yapar.

int numara = 95;

numara = 15;

int rakam;

rakam = 7;

int toplam = numara + rakam;
toplam++;  bu ve aşağısındakiler aynı, sayıyı 1 arttırır.
toplam +=1;
toplam = toplam + 1;

sayıyı 2 arttırır.
toplam += 2;
toplam=toplam+2;

sayıyı 1’er azaltır

toplam–;
toplam -= 1;
toplam = toplam – 1;

string ad, soyad;
string ad;
string soyad;

dize Isim = “Nancy”, Soyadı = “Etikan”;

Console.WriteLine(“Merhaba. Bu Şehirden katılıyorum:{0}, adım:{1},soyadım{2}”,sehir,firstname,Lastname);

Constant: const tanımlanan değişkenlere tanım anında değer atanır, sonrasında tekrar değer atanmaz.
const double piSayisi=22/7
const double piSayisi = 3.14;
Readonly: sadece okunur.
const double eSayisi = 2.71;

Console.WriteLine(“piSayisi: {0}, e sayısı: {1}”,piSayisi,eSayisi);
Console.ReadKey();