C# Value Type & Reference Type Arasındaki Farklar
Value Type
- Value Type'lara örnek verirsek integer, Booleans ve Char'dır.
- Bunlar bilgilerini memory'nin stack denen yerlerinde direk olarak saklarlar.
- System.ValueType tarafından türetilirler.
- Null değer alamazlar.
- Struct keywordu ile kendi value typelarımızı oluşturmamız olanaklıdır.
Örnekte görüldügü gibi Value Type olan bir değişkene null değer atamak istersek "Cannot convert null to 'int' because it is a value type" hatası alırız.
Reference Type
- Value Type gibi gerçek data memory üzerindeki stack üzerinde tutulur. Ayrıca memory'nin heap denen bölgesinde gerçek datanın referans değerini tutarlar.
- System.Object den türetilmişlerdir.
- New keywords'üyle instance'ları oluşturulur.
- Null alabilirler
- Örnek : string'ler, class'lar ve interface'lerdir.
Sanırım Reference Type kısmında yanlışlar var.
YanıtlaSilReferance tipler heap de gercek datayi stackda ise heapdeki gercek datanin referans adresini tutar.
YanıtlaSil