Önsöz:
Merhaba forumda sıklıkla c# nasıl öğrenirim? kaynak verir misiniz? tarzı konularla karşılaşıyorum. Bunun kısmen önüne geçmek ve detaylarıyla beraber c#'a sağlam bir giriş yapmak için bu konuyu açtım. Malum sağdan soldan pdf okuyarak yada video izleyerek bir yere kadar gidebiliriz, bunu forumda yaparsak takıldığımız yerde destekte alırız bilgimizi diğerleriyle de paylaşmış oluruz. Şahsen okuyarak öğrenmeyi seven insanım video izleyerek öğrenmem zor oluyor bu yüzden böyle bir konu açtım benim gibi öğrenenler için faydalı olabilir.
Bu ders serisinde alışılmışın dışında derinlemesine konuları ele almayı planlıyorum hem kendimi sınamış olur ve yeni şeyler öğrenirim hem de diğerlerine katkım olmuş olur. Giriş seviyesi kısımları üstünkörü geçeceğim (visual studio kurulumu, proje oluşturmak gibi...) törpülediğim kısımlar bence bu konuyu okuyan herkesin bildiği şeyler olacaktır. (Konsol uygulaması üzerinden çalışmıyorum.)
1- Değişkenler:
Klasik olarak işe değişkenlerle başlayalım. Değişken dediğimiz şey kısaca veriyi bellekte tutan ve istediğimizde kullanmamızı sağlayan bir fonksiyondur. Programlamada her alanda işimize yarayabilir bu yüzden öğrenilmesi gerekir. Değişkenler 11 farklı tipe ayrılır.
C#'da değişken tanımlamak için:
Tüm türler bu şekilde tanımlanabilir ileride bu konuyu derinlemesine ele alırız ama şimdilik bu kadarı yeterli. Aşağıya tüm veri tiplerini bırakıyorum.
Sayısal veri tipleri
Metinsel veri tipleri
Koşul veri tipi ve object
Evet arkadaşlar yukarıdaki tüm veri tipleri elbet işinize yarar. Şimdi değişkenler hakkında birkaç bilgi vermek istiyorum. Sayısal tiplerde (tamsayı) genellikle kullanacağımız integer olur. Bazı durumlarda mesela aşırı işlem gerektiren bir program yazdıysanız ve arka arkaya milyonlarca sonuç döndürmeniz gerekiyorsa integer ram'e yük bindirip hantal bir hale getirebilir sizi. Bu durumda 0-255 arası değer tutan Byte imdadınıza yetişir. Tabi bu çoğu zaman olmaz
Sayısal veri tiplerinde tam sayıları öğrendik fakat birde 12,92 gibi virgüllü sayılar var. Bunları int ile tanımlayamayız. Böyle durumlarda Double ve Float işimizi görecektir. Aralarında kapasite farkı vardır bunun yanı sıra Double hassas işlemlerde sıkıntısız sonuç verirken Float bellek dostudur ve hızlı çalışır. Bu yüzden çetrefilli işlemlerde Double kullanılır.
Metinsel veri tipleri içinde dikkat etmeniz gereken şey türkçe karakter kullanmamaktır. Bunun dışında pek anlatacak bir şeyim yok bu konuda.
Şimdi basit bir örnekle bu konuyu pekiştirelim. Integer türünde 3 değişken oluşturup iki sayının toplamını ekrana yazdıralım.
Burada Convert parametresini de anlatmak istiyorum. Textbox varsayılan olarak string türüne uyarlı gelir. Eğer girilen değeri integer türüne çevirmezsek hata alırız. Çıktıda sorun yaşamamak için textbox'a girilen değeri kod satırında ToInt32'ye çeviriyoruz. Eğer virgüllü bir sayı olsaydı çıkan seçeneklerden ToDouble'da seçebilirdik.
Değişken konusu bu kadardı toplama çıkarma gibi işlemleri yaparken faydasını gördünüz. İlerleyen kısımlarda sabitlere de geçeceğiz ve konu iyice pekişecek. İlk anlatımım olduğu için hatalar olabilir başlangıcı böyle yapmak istedim ne olur ne olmaz temeli atayım koşullu ifadeler vs de gelecek ve hepsinden sonra bağımsız yazılımlar yaparken öğrenmeye devam edeceğiz kolay gelsin.
Merhaba forumda sıklıkla c# nasıl öğrenirim? kaynak verir misiniz? tarzı konularla karşılaşıyorum. Bunun kısmen önüne geçmek ve detaylarıyla beraber c#'a sağlam bir giriş yapmak için bu konuyu açtım. Malum sağdan soldan pdf okuyarak yada video izleyerek bir yere kadar gidebiliriz, bunu forumda yaparsak takıldığımız yerde destekte alırız bilgimizi diğerleriyle de paylaşmış oluruz. Şahsen okuyarak öğrenmeyi seven insanım video izleyerek öğrenmem zor oluyor bu yüzden böyle bir konu açtım benim gibi öğrenenler için faydalı olabilir.
Bu ders serisinde alışılmışın dışında derinlemesine konuları ele almayı planlıyorum hem kendimi sınamış olur ve yeni şeyler öğrenirim hem de diğerlerine katkım olmuş olur. Giriş seviyesi kısımları üstünkörü geçeceğim (visual studio kurulumu, proje oluşturmak gibi...) törpülediğim kısımlar bence bu konuyu okuyan herkesin bildiği şeyler olacaktır. (Konsol uygulaması üzerinden çalışmıyorum.)
1- Değişkenler:
Klasik olarak işe değişkenlerle başlayalım. Değişken dediğimiz şey kısaca veriyi bellekte tutan ve istediğimizde kullanmamızı sağlayan bir fonksiyondur. Programlamada her alanda işimize yarayabilir bu yüzden öğrenilmesi gerekir. Değişkenler 11 farklı tipe ayrılır.
C#'da değişken tanımlamak için:
C#:
int a = 5; // Şeklinde kısaca tanımlanabilir. Burada değeri direkt olarak atayabiliriz.
int a; // Eğer değer sonradan atanacaksa böyle kullanılabilir.
a = 12;
Tüm türler bu şekilde tanımlanabilir ileride bu konuyu derinlemesine ele alırız ama şimdilik bu kadarı yeterli. Aşağıya tüm veri tiplerini bırakıyorum.
Sayısal veri tipleri
Tür | Boyut | Kapasite |
---|---|---|
Byte | 1 Bayt | 0, ..., 255 (tam sayı) |
sByte | 1 Bayt | -128, ..., 127 (tam sayı) |
Short | 2 Bayt | -32768, ..., 32767 (tam sayı) |
uShort | 2 Bayt | 0, ..., 65535 (tam sayı) |
İnt | 4 Bayt | -2147483648, ..., 2147483647 (tam sayı) |
uİnt | 4 Bayt | 0, ..., 4294967295 (tam sayı) |
Long | 8 Bayt | -9223372036854775808, ..., 9223372036854775807 (tam sayı) |
uLong | 8 Bayt | 0, ..., 18446744073709551615 (tam sayı) |
Float | 4 Bayt | ±1.5*10-45, ..., ±3.4*1038 (reel sayı) |
Double | 8 Bayt | ±5.0*10-324, ..., ±1.7*10308 (reel sayı) |
Decimal 16 Bayt ±1.5*10-28, ..., ±7.9*1028 |
Metinsel veri tipleri
Tür | Boyut | Kapasite |
---|---|---|
Char | 2 Bayt | Tek bir harf kapasitesi vardır. |
String | Sınırsız | Metin tutar. |
Koşul veri tipi ve object
Tür | Boyut | Kapasite |
---|---|---|
Bool | - | True - False veya 1>2 şeklinde kullanılır. |
Object | - | Tüm veri tiplerini tanımlarken kullanılabilir. |
Evet arkadaşlar yukarıdaki tüm veri tipleri elbet işinize yarar. Şimdi değişkenler hakkında birkaç bilgi vermek istiyorum. Sayısal tiplerde (tamsayı) genellikle kullanacağımız integer olur. Bazı durumlarda mesela aşırı işlem gerektiren bir program yazdıysanız ve arka arkaya milyonlarca sonuç döndürmeniz gerekiyorsa integer ram'e yük bindirip hantal bir hale getirebilir sizi. Bu durumda 0-255 arası değer tutan Byte imdadınıza yetişir. Tabi bu çoğu zaman olmaz
Sayısal veri tiplerinde tam sayıları öğrendik fakat birde 12,92 gibi virgüllü sayılar var. Bunları int ile tanımlayamayız. Böyle durumlarda Double ve Float işimizi görecektir. Aralarında kapasite farkı vardır bunun yanı sıra Double hassas işlemlerde sıkıntısız sonuç verirken Float bellek dostudur ve hızlı çalışır. Bu yüzden çetrefilli işlemlerde Double kullanılır.
Metinsel veri tipleri içinde dikkat etmeniz gereken şey türkçe karakter kullanmamaktır. Bunun dışında pek anlatacak bir şeyim yok bu konuda.
Şimdi basit bir örnekle bu konuyu pekiştirelim. Integer türünde 3 değişken oluşturup iki sayının toplamını ekrana yazdıralım.
C#:
//Projeye 2 textbox, 1 buton ve 1 label ekledim.
private void button1_Click(object sender, EventArgs e)
{
int sayi1 = Convert.ToInt32(textBox1.Text); //Textbox1'e girilen değeri sayi1 olarak oluşturduğum değişkene atadım.
int sayi2 = Convert.ToInt32(textBox2.Text); //Textbox2'e girilen değeri sayi2 olarak oluşturduğum değişkene atadım.
int sonuc = Convert.ToInt32(sayi1+sayi2); //sonuc Adında bir değişken oluşturup içine sayi1 ve sayi2'nin aldığı değerlerin toplamını yazdırdım.
label2.Text = Convert.ToString(sonuc); //Label2'ye sonuc'a atanan değeri yazdırdım.
}
Burada Convert parametresini de anlatmak istiyorum. Textbox varsayılan olarak string türüne uyarlı gelir. Eğer girilen değeri integer türüne çevirmezsek hata alırız. Çıktıda sorun yaşamamak için textbox'a girilen değeri kod satırında ToInt32'ye çeviriyoruz. Eğer virgüllü bir sayı olsaydı çıkan seçeneklerden ToDouble'da seçebilirdik.
Değişken konusu bu kadardı toplama çıkarma gibi işlemleri yaparken faydasını gördünüz. İlerleyen kısımlarda sabitlere de geçeceğiz ve konu iyice pekişecek. İlk anlatımım olduğu için hatalar olabilir başlangıcı böyle yapmak istedim ne olur ne olmaz temeli atayım koşullu ifadeler vs de gelecek ve hepsinden sonra bağımsız yazılımlar yaparken öğrenmeye devam edeceğiz kolay gelsin.