C# dilinde önceden tanımlanmış olan veri tipleri, değer ve referans tipleri olmak üzere ikiye ayrılır. İlk kez bu konu ile karşılaşanların zorlanacağı bir konu olacaktır fakat bu iki tipin ayırt edilmesi çok önemlidir. Özet olarak değer tipleri bir nesnenin adresini bulur ve adresteki veriye direk erişerek veriyi alır, referans tipleri ise bir nesneyi referans göstererek o veriye ulaşır. Yani referans tipleri heap bölgesinde oluşturulan veri türlerinin adreslerini saklar.
DEĞER TİPLERİ
Değer tipinde bir nesnenin değeri direkt saklanır. Değer tipleri ile bir atama yapalım.
int a = 3 ;
int b;
b = a ;
dediğimizde a değişkeni 3 değerini alır b değişkeni bellekte oluşur ve a değişkeninin aldığı değeri direkt olarak alır ve b değişkeninin değeri de 3 olur.
Değer tiplerinin tamamı Object denilen bir nesneden oluşturulmuştur. Yani C# ta her nesne bir Object tipinde veridir.
Değer tipinde ilk değer verilmesi yukarıda gösterilen şekilde de yapılabilir. Farklı tanımlama için bir örnek daha yapabiliriz.
int deger_tipi ; // değer tipi adında int bir değişken oluşturdurk
deger_tipi = new int() ; // şeklinde de ilk değer verilebilir.
deget_tipi = 0 ;
Şimdi bir kaç veri tipi örneklerine bakalım ve inceleyelim
Byte : 8 bitlik verileri tutabileceğiniz bir veri türüdür. 256 karakter ile sınıflıdır. Sadece pozitif sayıları üzerinde saklayabilir.
UShort : 16 bitlik veriler saklanabilir. işaretsiz yani pozitif tam sayı değerleri ile sınırlıdır.
İnt : 32 bitlik işaretli veriler tutulabilir. -2,147,483,648 ile +2,147,483,647 ile sınırlıdır.
long : 32 bitlik işaretsiz veriler tutulabilir. 0 ile +4,294,967,295 arasındadır.
float : 32 birlik gerçek sayı türüdür. Sakladığı değişken aralığı yaklaşık +-1.5 * 10 -45 ile +-3.4 * 10 38 arasındadır.
double : 64 bitlik gerçek sayı veri türüdür. double d = 3, 14 şeklinde tanımlanır.
decimal : 128 bitlik gerçek sayı veri türüdür. decimal d = 3,185686m şeklinde tanımlanır.
bool : True ya da False değerlerini saklama için kullanılır.
char : 16 bitlik uzunluğu evrensel olan Unicode standartlarındaki karakterleri temsil etmek için kullanılır. Her bir karakterin bir sayısal karşılığı vardır.
REFERANS TİPLERİ
C# da tanımlanmış iki tane temel referans tipi bulunmaktadır. Bunlar String ve Object türleridir. Object türü zaten C# ın temelini oluşturan türdür. Herhangi bir nesneyi Object ile eşleştirme kavramı boxing işlemi olarak adlandırılır. Boxing ve tam tersi olan unboxing işlemlerini tür dönüşümü konusunda daha detayllı göreceksiniz.
String Veri Tipi : String veri tipi Unicode karakterlerinden oluşan bir dizi gibi algılanmalıdır. String değerler + operatörü ile birleştirilebilirler. Bir dilin söz dizimi açısından özel anlamlar ifade eden karakterleri kullanmak istiyorsak bunları / ifadesi ile bitirmemiz gerekir örneğin bir dosyanın yolunu belirtirken kullanabilriz..
Object veri tipi : Bütün nesneler object olduğu için her türlü değişken object türüne aktarılabilir.
DEĞER TİPLERİ
Değer tipinde bir nesnenin değeri direkt saklanır. Değer tipleri ile bir atama yapalım.
int a = 3 ;
int b;
b = a ;
dediğimizde a değişkeni 3 değerini alır b değişkeni bellekte oluşur ve a değişkeninin aldığı değeri direkt olarak alır ve b değişkeninin değeri de 3 olur.
Değer tiplerinin tamamı Object denilen bir nesneden oluşturulmuştur. Yani C# ta her nesne bir Object tipinde veridir.
Değer tipinde ilk değer verilmesi yukarıda gösterilen şekilde de yapılabilir. Farklı tanımlama için bir örnek daha yapabiliriz.
int deger_tipi ; // değer tipi adında int bir değişken oluşturdurk
deger_tipi = new int() ; // şeklinde de ilk değer verilebilir.
deget_tipi = 0 ;
Şimdi bir kaç veri tipi örneklerine bakalım ve inceleyelim
Byte : 8 bitlik verileri tutabileceğiniz bir veri türüdür. 256 karakter ile sınıflıdır. Sadece pozitif sayıları üzerinde saklayabilir.
UShort : 16 bitlik veriler saklanabilir. işaretsiz yani pozitif tam sayı değerleri ile sınırlıdır.
İnt : 32 bitlik işaretli veriler tutulabilir. -2,147,483,648 ile +2,147,483,647 ile sınırlıdır.
long : 32 bitlik işaretsiz veriler tutulabilir. 0 ile +4,294,967,295 arasındadır.
float : 32 birlik gerçek sayı türüdür. Sakladığı değişken aralığı yaklaşık +-1.5 * 10 -45 ile +-3.4 * 10 38 arasındadır.
double : 64 bitlik gerçek sayı veri türüdür. double d = 3, 14 şeklinde tanımlanır.
decimal : 128 bitlik gerçek sayı veri türüdür. decimal d = 3,185686m şeklinde tanımlanır.
bool : True ya da False değerlerini saklama için kullanılır.
char : 16 bitlik uzunluğu evrensel olan Unicode standartlarındaki karakterleri temsil etmek için kullanılır. Her bir karakterin bir sayısal karşılığı vardır.
REFERANS TİPLERİ
C# da tanımlanmış iki tane temel referans tipi bulunmaktadır. Bunlar String ve Object türleridir. Object türü zaten C# ın temelini oluşturan türdür. Herhangi bir nesneyi Object ile eşleştirme kavramı boxing işlemi olarak adlandırılır. Boxing ve tam tersi olan unboxing işlemlerini tür dönüşümü konusunda daha detayllı göreceksiniz.
String Veri Tipi : String veri tipi Unicode karakterlerinden oluşan bir dizi gibi algılanmalıdır. String değerler + operatörü ile birleştirilebilirler. Bir dilin söz dizimi açısından özel anlamlar ifade eden karakterleri kullanmak istiyorsak bunları / ifadesi ile bitirmemiz gerekir örneğin bir dosyanın yolunu belirtirken kullanabilriz..
Object veri tipi : Bütün nesneler object olduğu için her türlü değişken object türüne aktarılabilir.