C# Boxing and Unboxing Nedir ?

C# Boxing and Unboxing

Net Framework’te value type ve referance type olmak üzere iki tür veri tipi vardır.

Value Type : İnteger, Float ,Decimal , Struct, vb.                                              Stack   bölgesinde tutulurlar.

Referans Türler : Dynamic, Delegate, Interface, Strings, Object, Class.      Hesap  bölgesinde tutulurlar.

Boxing , Stack’te bulunan değer türlerinin heap bulunan referans tiplerine dönüştürmektir.

Boxing :

int x = 5;
object o = a;

Unboxing, boxing işleminin tersini yapar.Yani heap bulunanların stack bölgesine kopyalanması işlemidir.

Unboxing:

int x = 5;
object o = x;
int y = (int)o;

Zorunlu olmadıkça kullanmaktan kaçınılmalıdır.
Çünkü programın normal atamada kaybedeceği sürenin kat kat fazlasını kaybeder ve programın performansını önemli derecede düşürür.

ToString() metoduda boxing işlemini yapan bir metotdur.

Author: Harun Balta
Bilgisayar Mühendisi Üzerine çalıştığım konular: C# , .Net , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql