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.

Value Type & Reference Type Arasındaki Farklar,java,c#,object orieneted,nesneye yönelik programlama,nesneye yönelik programlama dersleri,nesneye yönelik programlama nedir?


Ö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.

2 yorum :

  1. Sanırım Reference Type kısmında yanlışlar var.

    YanıtlaSil
  2. Referance tipler heap de gercek datayi stackda ise heapdeki gercek datanin referans adresini tutar.

    YanıtlaSil