C#’ın Temel Türleri

Tür (type) bir değişkenin bellekte kaç byte yer kapladığını, içersina hangi formatta bilgi yerleştirileceğini belirten genel bir bilgidir. Her değişkenin bir türü vardır.

Tür Belirten

Anahtar Sözcük

Uzunluk

(byte)

Yapı Karşılığı

Sınır Değerler

int

4

System.Int32

[-2147483648, +2147483647]

uint

4

System.Uınt32

[0, +4294967295]

short

2

System.Int16

[-32768, +32767]

ushort

2

System.Uınt16

[0, +65535]

long

8

System.Int64

[-9223372036854775808, +9223372036854775807]

ulong

8

System.Uınt64

[0, +18446764073709551615]

sbyte

1

System.Sbyte

[-128, +127]

byte

1

System.Byte

[0, +255]

char

2

System.Char

[0, 65535]

float

4

System.Single

double

8

System.Double

decimal

16

System.Decimal

28 digit noktalı sayı

bool

1

System.Bool

int türü işaretli bir tamsayı türüdür.

– Her tamsayı türünün işaretli ve işaretsiz biçimi vardır. uint türü, int türünün işaretsiz biçimidir. Tamsayı türünün işaretli ve işaretsiz biçimleri aynı uzunlukta yer kaplar. Pozitif sınırı 2 kat daha geniştir. İşaretsiz türler negatif değerler tutamazlar.

short türü 2 byte uzunlukta bir işaretli tamsayı türüdür. Yani int türünün kısa biçimi olarak düşünülebilir.

ushort türü short türünün işaretsiz biçimidir. Bu short türü sadece pozitif değer tutabilir.

long türüde işaretli bir tamsayı türüdür. Int türünün uzun biçimidir.

sbyte türü 1 bytelık, işaretli tamsayı türüdür.

char türü UNICODE karakterleri tutmak için kullanılır. UNICODE karakterler 2 byte yer kaplamaktadır.

int, uint, short, ushort, long, ulong, sbyte, byte, char türlerine tamsayı türleri denilmektedir.

float türünün yuvarlama hatalarına direnci düşüktür. Yuvarlama hatası (rounding error) bir noktalı sayının tam olarak tutulamayıp ona yakın bir sayının tutulabilmesi durumunu belirtir. Yuvarlama hatalarıkayan noktalı formatın bir yan etkisidir. float türünün yuvarlama hatasına direnci düşük demekle sayıların float türüyle tutulurken çabuk bozulmaları anlatılmaktadır.

double türü 8 byte uzunlukta yuvarlama hatalarına daha dirençli bir türdür. bu nedenle pratikte double türü oldukça tercih edilir.

decimal türü 28 digite kadar (sayının tam kısmı + noktadan sonraki kısmı) noktalı sayıları yuvarlama hatası olmadan tutabilmektedir. Fakat decimal türü doğal bir tür değildir. decimal türüyle işlemler göreli olarak yavaştır. float ya da double türleri doğal türlerdir. Çünkü işlemci tarafından tek hamlede elektriksel olarak yapılabilmektedir. Örneğin iki double sayı tek hamlede ve çok hızlı toplanabilirken, iki decimal sayı göreli olarak bir algoritmayla yavaş toplanmaktadır. Bu nedenle özellikle finansal hesaplamalarda ve yuvarlama hatasının istenmediği durumlarda tercih edilir.

bool türü yalnızca doğru/yanlış (true/false) değerlerini tutabilen bir türdür.

Bu kadar çok tür varken biz bir değişken için hangisini seçmeliyiz? C#’ın en fazla kullanılan tam sayı türü “int”, en fazla kullanılan gerçek sayı türü “double” dır. Programcı özel bir durum söz konusu değilse bunları seçmelidir. Ancak özel durumlar söz konusu olduğunda diğer türleri seçmek anlamlı olur.

Bildirim İşlemi

Bildirim (declaration) bir değişkenin kullanılmadan önce derleyiciye tanıtım işlemidir. Tüm değişkenler kullanılmadan önce bildirilmek zorundadır. Bildirim işleminin genel biçimi şöyledir:

<tür> <değişken listesi>;

Örneğin:

int a;

long b, c:

double x, y, z;

Değişken listesi tek bir değişken ya da birden fazla değişkenden oluşabilir. Birden fazla değişken aralarına virgül atomu konularak bildirilir.

Bildirimler metodların içerisinde yapılabilir ya da metodların dışında fakat sınıf bildiriminin içerisinde yapılabilir. Metodların içerisinde yapılan bildirimleri Yerel bildirimler, bildirilen değişkenlerede Yerel değişkenler denir. Sınıf bildirimleri içerisinde yapılan bildirimleri sınıfın veri elemanları denir.

Değişkenlere ilk Değer Atanması

Değişkenlere bildirim sırasında eşittir operatörüyle değer atayabiliriz. Buna İlk değer vermek (initialization) denir. Örneğin:

int a=10;

İlk değer verme, bildirim sırasında yapılan bir eylemdir. Aşağıdaki işlem ilk değer verme değildir.

int a;

a=10;

Bildirim sırasında bazı değişkenlere ilk değer verilip bazılarına verilmeyebilir. Örneğin:

int a, b=10, c;

C#’ta bir değişkene henüz değer atamadan onu içerisindeki değerin alınacağı bir ifadede kullanamayız. Bu durum error la sonuçlanır. (Halbuki C/C++’ta bu durum serbesttir ve rastgele bir çöp değer elde edilmektedir.) Örneğin:

int a, b;

b=a+10;

 

 

Leave a Reply

Site Footer