Sobes.tech
Junior — Middle

C#'ta referans ve değer tiplerinin bellek içinde saklanma yöntemleri nasıl farklılık gösterir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C#'ta, değer türleri (value types) olan int, struct, bool gibi, yığında (stack) veya doğrudan nesne içinde, eğer bunlar referans türü alanlarıysa, saklanır. Kendileri veriyi içerir.

Referans türleri (reference types), örneğin sınıflar (class), yığında (heap) saklanır. Referans türü değişkeni, verileri değil, nesnenin verilerinin saklandığı yama alanına (bellek bölgesine) işaret eden bir referans (gösterici) içerir.

Örnek:

int a = 5; // 'a' yığında değeri 5 tutar
MyClass obj = new MyClass(); // 'obj' yığında bir nesneye referans tutar

Böylece, değer türleri geçerken değer kopyalanır, referans türleri geçerken nesneye olan referans kopyalanır.