12 Eylül 2010 Pazar

.NET içerisindeki 5 Temel Tip ve Değer, Referans farkı

.NET 'in 5 temel tipi vardır.
Bunlar Enum , Struct , Interface , Class ve Delegate tipleridir.

Adı geçen tiplerden Enum ve Struct değer türlü olup , diğer 3 tip referans türlüdür.
Değer türlüler belleğin stack bölümünde yer alırken, referans türlüler ise heap bölümünde yer alırlar.

Değer türlüler, datalarını kendi üstlerinde taşırken, referans türlüler veriyi heap bölgesinde tutar ve stack veya heap üzerindeki bir referans (pointer'a benzetebiliriz) ile veriyi işaret ederler. Bu işaretçi işletim sistemine bağlı olarak bellekte 32-bit (4 byte) veya 64-bit (8 byte) yer kaplar.

İki değer türlü arasında atama yapıldığında, verinin yeni bir kopyası çıkartılır ve bir değişken üzerinde yapılan değişiklik diğerini kesinlikle etkilemez. Referans türlüler arasında yapılan atamalarda ise referansın bir kopyası çıkartılır ve iki referans da aynı adresteki datayı işaret ederler. Bu durumda hangi referans üzerinden işlem yapılırsa yapılsın, ortamdaki data tektir ve direkt olarak bir değişken üzerinden yapılan değişiklik , diğeri üzerinden gözlemlenebilir.

Hiç yorum yok: