Merhaba, bugünden itibaren yaklaşık 1 ay boş zamanım var. Bu zaman zarfında blogumla daha fazla ilgilenmeyi düşünüyorum. Bunun için de açmış olduğum anketten yola çıkarak C# ile ilgili dersler hazırlamaya karar verdim. Elimden geldiğince her gün veya 2-3 günde bir yeni bir ders paylaşacağım. Seviye olarak başlangıç seviyesinden başlamayı düşünüyorum. Fazla uzatmadan ilk derse başlayalım.

DERS 1: Veri Türleri

Öncelikle kullanacağım ortamı belirteyim: yazacağım tüm kodlarda Visual Studio kullanacağım. Eğer bilgisayarınızda Visual Studio yoksa, express sürümünü buraya tıklayıp indirebilirsiniz.

Veri Türü Nedir?

Program yazarken çeşitli değişkenlere ihtiyaç duyarız. Bu değişkenler ise farklı türlerde olabilir. Örneğin bir sayı, virgüllü sayı veya bir metin olabilir. Bunların hepsi farklı bir türdür. Programlama dillerinin neredeyse tamamında veri türleri kullanılır. Yazı boyunca veri türü yerine bazen veri tipi diyebilirim, ikisi de aynı anlama gelmektedir. Veri türlerinin ayrılmasındaki sebepler ise;

  • Programcıya programlama esnasında kolaylık sağlaması
  • Bellek üzerindeki dizilimlerinin farklı olması
  • Bellek israfından kaçınmak’tır.

Programcıya nasıl kolaylık sağlar diye sorulursa, örneğin programcı bir tam sayı ile metni toplamaya çalışmaz. Tam sayı için int tanımlaması yapılırken metin için string tanımlaması yapılır ve programcı iki türün farklı olduğunu görüp hata yapma ihtimalini en aza indirir; ancak örneğin javascript dilinde veri türü pek kullanılmaz. Dolayısıyla bazen sayı ile metni toplayabilirsiniz ve beklemediğiniz sonuçlarla kaşılaşabilirsiniz.

İkinci ve üçüncü madde birbirleriyle bağlantılı aslında. İlerde bahsedeceğiz; ancak örneğin normal şartlar altında bir tam sayı (int) 32 bit’lik bir bellek alanı kaplarken daha büyük sayıları temsil etmek için kullanılan (long) veri türü 64 bit’lik bir bellek alanı kaplamaktadır. Eğer biz programımızda ufak tefek sayılarla uğraşacaksak long veri türünü kullanmamıza gerek yoktur. İstersek kullanabiliriz elbette; ancak boş yere bellek israfı yapmış olacağız. İleriki kısımlarda hangi veri türü ne için kullanılır, sayı aralığı nedir ve bellekte ne kadar yer kaplar gibi konulara değineceğiz.

Sık Kullanılan Veri Türleri

Normal bir programcının program yazarken (bana göre) en fazla kullandığı veri türü tam sayıdır. Bu da işlemine göre, küçük sayılar için int veya büyük sayılar için long olarak tanımlanır. Benzer şekilde virgüllü sayıları yani ondalıklı sayıları ifade etmek için float, büyük ondalıklı sayıları ifade etmek için de double veri türleri kullanılmaktadır. Tek harf, sayı veya sembol saklamak için char, bir kelime veya cümle saklamak içinse string veri türü kullanılmaktadır. Şimdi tüm veri türlerini bir tablo üzerinde görelim.

TürAçıklama ve Bellek AlanıMin-Max Aralığı
boolDoğru veya Yanlış (1 Bit)0 - 1 (True - False)
charKarakterler (16 Bit)16 Bit Unicode
sbyteİşaretli Tam Sayı (8 Bit)-128 - 127 arası
byteİşaretsiz Tam Sayı (8 Bit)0 - 255 arası
shortİşaretli Tam Sayı (16 Bit)-32.768 - 32.767 arası
ushortİşaretsiz Tam Sayı (16 Bit)0 - 65.535 arası
intİşaretli Tam Sayı (32 Bit)-2.147.483.648 - 2.147.483.647 arası
uintİşaretsiz Tam Sayı (32 Bit)0 - 4.294.967.295 arası
longİşaretli Tam Sayı (64 Bit)-9.223.372.036.854.775.808 - 9.223.372.036.854.775.807 arası
ulongİşaretsiz Tam Sayı (64 Bit)0 - 18.446.744.073.709.551.615 arası
floatTek Kayan Sayı (32 Bit)+-1,5*10^-45 - +-3,4*10^38 arası
doubleÇift Kayan Sayı (64 Bit)+-5*10^-324 - +-1,7*10^308 arası
decimalOndalıklı Sayı (128 Bit)+-1,5*10^-28 - +-7,9*10^28 arası

Resimde de gördüğünüz gibi bir çok veri türü bulunmakta. Program yazarken ihtiyaçlarınız doğrultusunda yapacağınız veri türü seçimleri, küçük programlarda kendini pek belli etmese de büyük ölçekli programlarda önemli performans artışlarına sebep olacaktır. Örneğin, sınıf mevcudunun saklanacağı bir değişken tanımlarken, maksimum değerin 255’i geçmeyeceği rahatlıkla ön görülebilir. Bu yüzden veri tipini byte olarak seçebiliriz. sbyte da seçebilirdik; ancak mevcut eksi olamayacağı için byte seçmek daha mantıklı bir karar olacaktır. Sıradan bir programcı ise, biz bunu düşünürken çoktan int tipini seçip ilerledi bile; ancak 24 bit’lik bir bellek israfına yol açtı. Büyük bir oyun düşünün, örneğin Crysis. Bu oyun yazılırken eminim ki bu veri türlerini limitlerine kadar hesaplayıp hangisini kullanmaları gerektiğine öyle karar veriyorlardır. Aksi taktirde, piyasadaki en iyi bilgisayar bile bu oyunu en düşük ayarda da olsa çalıştıramayacaktır. O yüzden veri türü seçimi gerçekten çok önemli bir nokta.

Bu dersimizde veri türlerini ve veri türünü seçmenin önemini anlatmaya çalıştım. Bir sonraki dersimizde değişkenleri ve atama işlemlerini anlatmayı düşünüyorum. Umarım birilerine faydalı olur. Eksik veya hatalı gördüğünüz kısımları veya önerilerinizi yorum olarak yazabilirsiniz. Görüşmek üzere…

Gelen arama terimleri:
  • veri türleri nelerdir (13)

Benzer Makaleler

3 thoughts on “C# Veri Türleri

  1. Destek Ve Uğraşlar İçin Kesinlikle Teşekkürler …
    Ödevime De Yaralı Oldu …
    Sağ Olun …

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

warning
www.kemalkefeli.com.tr üzerindeki herhangi bir yazının veya kodun izinsiz olarak başka bir yerde kullanılması yasaktır.