C# Dersleri

C# Dersleri #3: Değer Tipleri ve Referans Tipleri (Value vs Reference Types)

• 📅 1 Kasım 2026 • ⏳ 2 dk okuma
📑 İçindekiler Rehberi

    C# mülakatlarının en popüler sorusu olan “Value Type ile Reference Type arasındaki fark nedir?” konusunu, bellekteki kopyalama mekanizmalarıyla birlikte kristal netliğinde öğreniyoruz.

    🎯 3. Günün Hedefleri:

    • Değer tipi (struct, int, bool) atamalarında değerin kopyalanması.
    • Referans tipi (class, string, array) atamalarında bellek adresinin kopyalanması.
    • Referans paylaşımının yan etkileri ve güvenli kodlama.
    • Null kavramı ve referans tiplerin varsayılan değerleri.

    1. Değer Kopyalama vs Adres Paylaşımı

    Bir değer tipini başka bir değişkene atadığınızda bellekte bağımsız ikinci bir kopya oluşur. Ancak bir referans tipini atadığınızda sadece Heap üzerindeki nesneyi gösteren adres (işaretçi) kopyalanır.

    // DEĞER TİPİ ÖRNEĞİ
    int sayi1 = 50;
    int sayi2 = sayi1;
    sayi2 = 100;
    // sayi1 hala 50'dir, sayi2 değişti!
    
    // REFERANS TİPİ ÖRNEĞİ (Dizi)
    int[] dizi1 = new int[] { 1, 2, 3 };
    int[] dizi2 = dizi1;
    dizi2[0] = 999;
    // dizi1[0] da 999 oldu! Çünkü aynı Heap adresini işaret ediyorlar.

    💪 3. Gün Pratik Görevi (Challenge)

    İki ayrı int dizisi oluşturun. Birini diğerine atayıp elemanını değiştirerek ekrana her iki dizinin ilk elemanını yazdırın ve çıktıyı gözlemleyin.

    İpucu: Diziler referans tipidir, bu nedenle dizi2 üzerinden yapılan değişiklik dizi1’e de yansır.

    « Önceki Ders (#2)
    Tüm Müfredat (Ders 3 / 100) →
    Sıradaki: #4 Tip Dönüşümleri (Type Casting, Boxing & Unboxing) ⏳

    Bilişim teknolojileri, sistem yönetimi, bulut bilişim ve modern yazılım mimarileri üzerine çalışan mühendis & teknik yazar.

    İlgili Diğer Teknik Makaleler

    ÖNERİLENLER

    Fikirlerinizi ve Yorumunuzu Paylaşın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir