Referans ve Değer Tiplerini Anlamak: İki Farklı Hafıza Hikayesi
C# dilinde programlama yaparken, verilerin bellekte nasıl saklandığını ve işlendiğini anlamak önemli bir adımdır. İşte tam da burada…
Referans ve Değer Tiplerini Anlamak: İki Farklı Hafıza Hikayesi
C# dilinde programlama yaparken, verilerin bellekte nasıl saklandığını ve işlendiğini anlamak önemli bir adımdır. İşte tam da burada “Reference Type” ve “Value Type” kavramları devreye giriyor. Hadi gelin bu iki kavramın temel farklarını keşfedelim ve birkaç örnekle pekiştirelim!

Value Type (Değer Tipleri): Bir Valiz Düşünün
Değer tiplerini anlamak için bir valizi hayal edelim. Valizin içindeki tüm eşyalar, sizin doğrudan erişip kullanabileceğiniz şeylerdir. Valizin kendisi, belleğin stack adı verilen bir bölümünde saklanır.
- Temel Özellik: Değer tipleri, doğrudan bir değeri saklar. Bu yüzden valizi başka birine kopyaladığınızda, valizin içinde ne varsa aynen kopyalanır. Ancak kopyalanan valiz, orijinalden bağımsızdır.
int x = 10;
int y = x; // y, x'in bir kopyasını alır.
y = 20; // y'nin değeri değişir, ama x'in değeri etkilenmez.
Console.WriteLine(x); // Çıktı: 10
Console.WriteLine(y); // Çıktı: 20
Bu durumda, x ve y tamamen bağımsız iki valizdir. Birini değiştirseniz bile diğerine dokunmazsınız.
Reference Type (Referans Tipleri): Bir Otel Rezervasyonu
Referans tiplerini bir otel rezervasyonu gibi düşünebilirsiniz. Rezervasyon numarası, oteldeki odanızı temsil eder. Rezervasyon numarasını başka birine verdiğinizde, aynı odaya erişebilirler. Yani, adresi paylaşmış olursunuz.
- Temel Özellik: Referans tipleri, belleğin heap adı verilen bir bölümünde saklanır ve adres (referans) kullanılarak erişilir.
string[] dizi1 = { "Elma", "Armut" };
string[] dizi2 = dizi1; // dizi2, dizi1'in referansını alır.
dizi2[0] = "Karpuz";
Console.WriteLine(dizi1[0]); // Çıktı: Karpuz
Burada, dizi1 ve dizi2 aynı odayı (veriyi) işaret ediyor. Birinin yaptığı değişiklik, diğerini de etkiler.
Temel Farklar: Valiz mi, Rezervasyon mu?

Sonuç: Ne Zaman Hangisini Kullanmalıyız?
Değer tipleri, genellikle basit veri tutma işlemleri için kullanılırken (örneğin, tamsayılar, ondalık sayılar), referans tipleri daha karmaşık veri yapılarıyla çalışmak için tercih edilir (örneğin, diziler, nesneler).
C# dünyasında veri tiplerinin nasıl çalıştığını öğrenmek, daha verimli ve doğru kod yazmanın anahtarıdır. Bir sonraki yazımda, “stack” ve “heap” arasındaki farkları ve bu farkların uygulamalara etkisini ele alacağım. Şimdilik, valizinizi toplayın ya da rezervasyon numaranızı kontrol edin ve öğrendiklerinizi keşfetmeye başlayın! 😊
메타데이터
- post_id
- 5af8ec2e90ab
- slug
- referans-ve-değer-tiplerini-anlamak-i̇ki-farklı-hafıza-hikayesi-5af8ec2e90ab
- url
- https://medium.com/@gizemmbilgiic/referans-ve-de%C4%9Fer-tiplerini-anlamak-i%CC%87ki-farkl%C4%B1-haf%C4%B1za-hikayesi-5af8ec2e90ab
- canonical_url
- https://medium.com/@gizemmbilgiic/referans-ve-de%C4%9Fer-tiplerini-anlamak-i%CC%87ki-farkl%C4%B1-haf%C4%B1za-hikayesi-5af8ec2e90ab
- author_url
- https://medium.com/@gizemmbilgiic
- status
- ok
- fetched_at
- 2026-07-21 11:34:48