Tüm programlama dillerinde olduğu gibi C# programlama dilinde de değişkenler en temel kavramlardan biridir. Program çalışması sırasında çeşitli türlerde verileri hafızada saklayan değişkenler, ihtiyaca göre tekrar tekrar kullanılan veri tutuculardır.
Program çalıştığı sürece değişkenler RAM bellekte tutulur, program kapatıldığında ise RAM bellekten silinir.
C# Temel Veri Türleri
Değişkenlerde tutulacak verilerin türleri çeşitlilik gösterebilir. Örneğin değişkende tutulacak verinin türü ihtiyaca göre ondalıklı,sayı, tam sayı, metinsel veri olabilir. Her veri türünün RAM bellekte kapladığı alan ve değişken türüne göre verinin değer aralığı farklıdır. Veri türleri ile ilgili daha önce bu yazımızda bilgi vermiştik.
Aşağıdaki tabloda değişkenlerin veri türlerine göre kapladığı alan ve değer aralığı gösterilmiştir.
| Tür | Tanımı | Aralık |
|---|---|---|
| byte | 8-bit işaretsiz tam sayı | 0 ile 255 |
| sbyte | 8-bit işaretli tam sayı | -128 ile 127 |
| short | 16-bit işaretli tam sayı | -32,768 ile 32,767 |
| ushort | 16-bit işaretsiz tam sayı | 0 ile 65,535 |
| int | 32-bit işaretli tam sayı | -2,147,483,648 ile 2,147,483,647 |
| uint | 32-bit işaretsiz tam sayı | 0 ile 4,294,967,295 |
| long | 64-bit işaretli tam sayı | -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 |
| ulong | 64-bit işaretsiz tam sayı | 0 ile 18,446,744,073,709,551,615 |
| float | 32-bit Tek duyarlıklı kayan nokta tipi | -3.402823e38 ile 3.402823e38 |
| double | 64-bit çift duyarlıklı kayan nokta tipi | -1.79769313486232e308 ile 1.79769313486232e308 |
| decimal | 128-bit mali ve parasal hesaplamalar için ondalık tür | (+ or -)1.0 x 10e-28 ile 7.9 x 10e28 |
| char | 16-bit tek Unicode karakter | Herhangi bir geçerli karakter, a,*, \x0058 (hex), or\u0058 (Unicode) |
| bool | 8-bit mantıksal true/false değer | True ile False |
| object | Diğer tüm türlerin temel türü. | |
| string | Unicode karakter dizisi | |
| DateTime | Tarih ve saati temsil eder | 0:00:00am 1/1/01 ile 11:59:59pm 12/31/9999 |
Yukarıdaki tabloda da görebileceğiniz gibi her bir veri tipi (string ve object hariç) değer aralığını içermektedir. Değer, veri tipinin izin verilen aralığının dışına çıkarsa derleyici bir hata verecektir.
Örneğin, int veri türünün aralığı -2.147.483.648 ile 2.147.483.647’dir. Yani bu aralıkta olmayan bir değer atarsanız derleyici hata verecektir.
Değişken isimleri belirli yazım standartlarına göre verilmelidir. Programcı bu standartlara uymak zorunda olmasa da kodların okunabilirliği ve rahat anlaşılması açısından bu standartlar önemlidir.
Programın tüm satırlarında aynı standarda göre değişken isimleri verilmelidir.
1- Camel Case : Bu yazım standartına göre değişken iki veya daha fazla kelimeden oluşuyorsa değişkenin ismindeki ilk kelimenin baş harfi küçük, diğer kelimelerin baş harfleri büyük yazılır.
Örnek:
string kullaniciAdi, adSoyad;
int toplamHesapTutari;
double urunFiyati;
2- Snake Case: Bu yazım standardına göre değişken ismindeki kelimelerin arasına alt çizgi ( _ ) konur.
Örnek:
string kullanici_adi,ad_soyad;
int toplam_hesap_tutari;
double urun_fiyati;
3- Pascal Case: Bu yazım standardına göre değişkenin ismindeki tüm kelimelerin baş harfi büyük olur.
Örnek:
string KullaniciAdi, AdSoyad;
int ToplamTutar;
double BoyUzunlugu;
Değişken İsimlendirme Kuralları
- Değişken isimlerinde boşluk karakteri kullanılmaz. Örnek olarak;
string ad soyad; şeklinde bir kullanım hata verecektir. Birden fazla kelimeden oluşan değişken isimlerindeyukarıdaki standartlardan (Camel Case, Snake Case, Pascal Case) biri kullanılmalıdır. - Değişken isimlerinde ?, !, ., %, (, } vb. özel karakterler kullanılmaz.
- Değişken isimleri sayı ile başlamaz. Örneğin;
int 1not; şeklinde bir isimlendirme hata verecektir. - Değişken isimleri büyük ve küçük harfe duyarlıdır. Yani string ad; ve string Ad; şeklinde tanımlanan iki değişken farklıdır.
- Herhangi bir kodla aynı isimli değişken tanımlanamaz. (if, else, random, foreach vb.)
- Zorunluluk olmamakla beraber türkçe karakterlerin kullanılmaması önerilir. (İ, ı, Ö, ö, Ü, ü, Ğ, ğ, Ç, ç, Ş, ş)
Örneğin string çalışmaSaatleri; şeklinde bir tanımlama yerine string calismaSaatleri; şeklinde bir isimlendirme tavsiye edilir.
