C# Değişken Nedir? Değişken Türleri Nelerdir?

Değişken Nedir?

Öncelikle yazımıza başlamadan önce şuna değinmekte fayda var. Başlığımızda C# (CSharp) yazıyor olsa bile, değişken tanımlama, değişkeni kullanma, değişken, türleri, kullanma biçimi mantık olarak tüm dillerde aynıdır ve aynı amaçla kullanılır. Sadece programlama dillerinde syntax(söz dizimi) denilen programlama dilinin kendine has yazım kurallarınca farklı olarak kodlanır/yazılır.

Peki gelelim değişken türlerine ve değişken nedir kısmına. Değişken denilen kavram yazdığımız programlarda, uygulamalarda (Web, Mobil vb.) daha sonra veya anlık olarak kullanacağımız değerleri (metinsel değerler, sayısal değerler, vb.) gibi durumları bir ifadeye atamak olarak düşünebiliriz. Evet bazılarımızın kafası karışmış olabilir. Bu ne demek oluyor diye. Hemen açıklayalım.

Örneğin bir markete gideceksiniz ve almanız gereken bir çok şey var, bunları aklınızda tutmanız anlık ve daha sonra hatırlayıp bunları almanız oldukça zor olabilir. Bunları hatırlamak için ne yapabilirsiniz, bir kağıda bütün alacaklarınızı yazıp evdeyken, yoldayken ve marketteyken alacaklarınıza kolaylıkla bakabilirsiniz. Evdeyken 1 kg olarak düşündüğünüz domatesi yoldayken 1kg domatesin az olduğunu ve 3 kg almalıyım şeklinde düşünüp 1kg domatesi 3kg olarak yeniden not alabilirsiniz.

Peki burada ki örnekte değişken ne oluyor. Bu senaryoda bizim değişkenimiz not aldığımız kağıttır. Kağıda bazı bilgileri unutmamak adına ve tekrar tekrar bakıp alacağımız ürünleri kontrol etmek için kullandık. Tamam da bunun yazılım ile ne alakası var dediğinizi duyar gibiyim öyleyse yazılım ile alakalı olacak kısmından bir örnek ile devam edelim.

Örneğin bir öğrencilerin aldığı notların ortalamasını alıp bunu ekrana yazdıracak bir program düşünelim.

string ogrenci_adi = "Ahmet";
int ilk_not = 50;
int ikinci_not = 100;
int sonuc = (ilk_not + ikinci_not) / 2;
Console.WriteLine(ogrenci_adi + " adlı öğrencinin not ortalaması: " + sonuc);

Konsol çıktısı: Ahmet adlı öğrencinin not ortalaması: 75

Evet yukarıda yazdığımız kod kısmında Ahmet adındaki öğrenciyi metinsel ifadeleri tutan “string” türündeki değişkene “ogrenci_adi” adını vererek atadık. Notlarımızı ise “int” türündeki tam sayıları tutan değişken türüne atadık. Evet burada tekrar açıklamakta fayda var. Örneğin yukarıdaki örnekte string (değişken türü) + ogrenci _adi (değişken adı, bu değişken adını biz kendimiz özgün olarak verdik ogrenci_adi yerine x,y,z gibi şeylerde yazabilirdik fakat değişken adına her zaman tutacağı bilgi ile ilgili manalı isimler vermek kod okunurluğu açısından oldukça önemlidir.) eşittir ifadesi ile bir atama yaptığımızı belirttik ve son olarak çift tırnak arasına öğrenci adını yazdık. Peki burada yeni bir soru işareti aklınıza takılmış olabilir.

Neden string türünde çift tırnak var da int türünde yok. Bunun sebebi metinsel ifadeler başta C# programlama dili başta olmak üzere bir çok farklı programlama dilinde çift tırnak veya dilin farklılığına göre tek tırnak arasına yazılır. Tamam da neden böyle bir durum söz konusu? Sebebi aslında oldukça basit bunu da bir örnekte açıklamak istiyorum.

string ilk_sayi = "20";
string ikinci_sayi = "22";
string sonuc = ilk_sayi + ikinci_sayi;
Console.WriteLine(sonuc);

Konsol çıktısı: 2022

Evet yukarıda yazdığımız koda baktığımızda konsol çıktısının 2022 olduğunu görüyoruz. Şimdi gelelim neden böyle bir çıktı aldık. C# ve bir çok programlama dilinde string veri türleri metinsel değerleri tuttuğu için diğer sayısal veri türleri ile doğrudan herhangi bir etkileşimde bulunmazlar. Bu yüzden string türündeki ifadeler çift tırnak veya tek tırnak arasında yazılır. Tabi ki derya deniz olan programlama dillerinde sadece iki tür veri tipi yoktur.

Değişken Türleri Nelerdir?

Bir çok veri türü mevcuttur. Bizler burada C# dilindeki veri türlerine bakacağız lakin aşağıdaki tabloda olan veri türü bir çok programlama dilinde benzerdir.

SıraVeri Tipi / Veri TürüUzunluk – Minimum ve Maksimum Değeri
1byte1 byte / 0 ile 255
2sbyte1 byte / -128 ile 127
3short2 byte / -32.768 ile 32.767
4int4 byte / -2.147.483.648 ile 2.147.483.647
5ushort2 byte / 0 ile 65.535
6uint4 byte / 0 ile 4.294.967.295
7ulong 8 byte / 0 ile 18.446.744.073.709.551.615
8long 8 byte / -9.223.372.036.854.775.808 ile9.223.372.036.854.775.807
9float4 byte / +veya– 1,5*10-45 : + veya– 3,4*1038
10double8 byte / +veya– 5*10-324 : + veya– 1,7*10308
11decimal16 byte / +veya– 1,5*10-28 : + veya – 7,9*1028
12bool16 byte / true veya false
13char2 byte / U + u + ffff 0000
14string Metinsel ifadelerin tutulduğu refans tip veri türü
15objectTüm verilerin içerisinde barındığı veri referans tip veri türü

Değişken Türleri Nasıl Tanımlanır?

Değişken isimlendirirken zorunlu ve zorunlu olmayan bazı temel isimlendirme kuralları vardır.

  • Değişken isimlendirilirken C# dilindeki kendine has özel ifadeler kullanılamaz.
  • Değişken adı iki ve daha fazla kelimeden oluşuyor ise “camel case” yani ilk harf küçük sonraki kelimenin harfi büyük olacak şekilde değişken tanımlamak daha doğru ve tercih edilen bir yaklaşımdır.
  • Değişken isimlerinin Türkçe karakter içermemesi daha doğrudur.
  • Değişken isimleri %,?,!,: gibi özel karakterler içeremez.
  • Değişken isimleri rakam ile başlamaz.