C# Veri Tipleri ve Değişkenler


        Bu makalede size C# programlama dilinde değişkenlerden bahsedeceğim. Bir bilgisayar programı yazarken bazı veriler üzerinde işlem yaparız. Bu verilerle işlem yapabilmemiz için onlara isimler vermemiz gerekir. İşte bu verilerin adına “değişken” denir. Değişkenler tek başına yeterli değillerdir. Değişkenlerin türünün ne olduğu önceden belirtilmelidir (Bu değişken bir tamsayı mıdır, karakter midir, metin midir vb..) . Bu işlem  ”veri türü” denilen programlama dilinde önceden tanımlanmış deyimler kullanılarak yapılır.

 Değişkenler Nasıl Tanımlanır?

    <veri türü> <değişken ismi>; olarak tanımlanırlar.

Örnek;

int sayi; /* "sayi" değişken adını "int" ise değişkenin türünü ifade eder.*/ 

Veri Türleri

        Değer tipli ve referans tipli olarak 2′ye ayrılır. Değer tipinden bir veri türünde sakladığımız değişken değerini direk Ram’e atar ve Ram’den alır. Referans tipli değişkenler ise bu işlemi asıl değişkenin değil de asıl değişkenin adresini tutarak yapar. Yani referans tipli bir değişken tanımlarsanız Ram’de bir gözde bir adres saklanır. Bu adres bizim degişkenimizin içeriğinin bulunduğu yerin adresidir. Veri türlerinin değer tipli ve referans tipli olarak ayrılma nedeni değer tipli değişkenin bellekte ne kadar yer kaplayacağının belli olmasıdır. Ama referans tipi değişkenlerde verinin boyutu belli değildir.

Değer Tipli Veri Türleri:

  • int : İçinde sadece tam sayı saklayabilen veri türüdür. bellekte 32 bitlik(4 Bayt) yer kaplar. int türünde bir değişken tanımladığımızda onun varsayılan değeri sıfırdır.içine ondalıklı sayı atanmak istense bile bu tipte bir değişken sadece tam kısmı alır.
  • bool: Mantıksal bir veri türüdür. Bellekte kapladığı yer hakkında microsoft’un kaynaklarında bile bilgi bulunmamaktadır. İçine sadece false veya true yazılarını alır. false sıfıra(0), true bire(1) karşılık gelir.bool tipinde bir değişken tanımladığımızda varsayılan değeri false’dir.
  • double : İçinde ondalıklı sayı saklayabilen veri türüdür. bellekte 64 bitlik(8 Bayt) yer kaplar. double türünde bir değişken tanımladığımızda onun varsayılan değeri o.o’dır. Ondalıklı sayıların varsayılan tipi double’dır.
  • float : İçinde ondalıklı sayı saklayabilen veri türüdür. Bellekte 32 bitlik(4 Bayt) yer kaplar. Eğer ondalıklı sayımız çok büyük bir sayı değilse bu sayıyı float tipinde bir değişkende saklamak bize bellek kazancı sağlar. Float türünde bir değişken tanımladığımızda onun varsayılan değeri 0.0′dır. Float tipine değer atamak için sayının sonuna  f  konur.
  • char : İçinde sadece tam sayı saklayabilen veri türüdür. bellekte 8 bitlik(1 Bayt) yer kaplar. int türünde bir değişken tanımladığımızda onun varsayılan değeri sıfırdır. Karakter ataması yaparken atanacak değer tek tırnak içine alınır.
  • long : İçinde tam sayıları saklayabilen veri türüdür. İnt türüne sığmayacak büyüklükteki tam sayılar long veri tipinde tutulabilir. Bellekte 64 bitlik(8 Bayt) yer kaplar. long türünde bir değişken tanımladığımızda onun varsayılan değeri sıfırdır. Basamak sayısı 20′den az olan tüm sayıları tutabilir.
  • short :  İçinde tam sayı saklayabilen veri türüdür. Bellekte 16 bitlik(2 Bayt) yer kaplar. short türünde bir değişken tanımladığımızda onun varsayılan değeri sıfırdır. -32767 ile +32767 arasındaki tüm sayıları tutabilir.
  • byte : İçinde sadece tam sayı saklayabilen veri türüdür. Bellekte 8 bitlik(1 Bayt) yer kaplar. Byte türünde bir değişken tanımladığımızda onun varsayılan değeri sıfırdır. Byte veri tipinin alabileceği en büyük sayı 255′tir.
  • decimal : İçinde sadece tam sayı saklayabilen veri türüdür. Bellekte 128 bitlik(16 Bayt) yer kaplar. decimal türünde bir değişken tanımladığımızda onun varsayılan değeri sıfırdır. decimal tipinden değişkene değer atanırken sonuna M koyulmalı.
Kullanımları şu şekildedir ;
int a; /* a'nın ilk değeri sıfırdır. */

int sayi=5; /* tanımlama sırasında sayi değişkenine
 5 sayısı atanmıştır*/

int x,y=8,z; /* aynı türden değişkenler tanımlanırken virgülle ayrılabilir. */

int sayi3 = 5.5; /* sayi3 değişkeni tamsayı olduğu için sayi3'ün değeri olur.
 Yani atanan sayının sadece tam kısmı alınır. */
bool dogrumu = false;

bool aktif = true;

bool hello; /* atama yapmadığımız için varsayılan değer olarak
 hello değişkenine false değeri atandı. */

float f = 5.4f;

double d = 3.2;

byte b = 230;

long l = 12345678901236433;

short s = -31535;

decimal dec = -5M;

char ch = 'a';
Referans Tipli Veri Türleri :
  • string : Bazı dillerde( C,C++ ,vb. ) birden fazla karakterden oluşan metinleri tutmak için karakter tipinde diziler tanımlanır ve bu metin o diziye atılır. Bu işlem hem kod yazma hızını hem de yazılan kodun takip edilebilirliğini azaltır. C#’ta string veri türü sayesinde bu sorun aşılmıştır. String veri türünde bir değişken tanımlandığında o değişken içerisine atılan yazı ne ise tamamını içine alabilir. Yazım kuralı olarak atanan yazı çift tırnaklar içerisinde yazılmalıdır. String türünden değişkenleri birleştirmek için artı(+) operatörü kullanılır.
  • Object : Aslında bir sınıftır ve C#’ta ki tüm veri tipleri bu sınıftan türemiştir. C# dilinde kullanıcı da bir veri tipi oluşturabilir. Bu veri tipi oluşturulduğunda aslında object türünden türeyecektir. C# dilinde tüm nesneler birer object’tir. Bu da C#’ta ki herşeyin nesnelerden oluştuğunun kanıtıdır aslında.
Kullanımları şu şekildedir ;
 string st = "hello";

string st2 = "world";

string st3 = st + " " + st2; /*st ve st2 değişkenleri arada boşluk bırakılarak
 birleştirildi. yani çıktı olarak hello world yazısı alınır. */

Not : Değişkenlerin yaşam alanı tanımladıkları süslü parantezlerin içerisidir. O süslü parantezlerin dışında o değişkenlere erişilemez.Eğer birden fazla olay (event) veya fonksiyon içinden o değişkene erişilmek isteniyorsa o değişken “class seviyesi”nde ya da diğer adıyla “global” olarak tanımlanmalıdır.

C#’ta bu makalemde bahsettiklerimden başka veri türleri de vardır. Fakat temel olanları bunlardır. Diğerlerini ilerleyen zamanlarda kullandıkça değineceğim.

2 Yorum

  1. c# ve php de veri tiplerinden bahsetmişken aradan javadaki veri tiplerinidemi cıkartsak :P

  2. Çok teşekkürler. :)

Yorum Yapabilirsiniz..

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hakkımızda

Herkese Merhabalar, KodFM, Çukurova Üniversitesi Bilgisayar Mühendisliği öğrencilerinin bir araya gelerek Yazılım alanında bilgilerini paylaştığı blog sayfasıdır. Detaylar..