İsimsiz Sınıflar / Anonymous Classes

C# dilinde Anonymous Classes (Anonim Sınıflar), önceden açık bir sınıf tanımı (class definition) yapmadan, salt okunur (read-only) nesneler oluşturmanıza olanak tanıyan bir özelliktir. Genellikle geçici veri yapıları oluşturmak veya LINQ sorgularından dönen sonuçları paketlemek için kullanılırlar.
 

Temel Özellikler

    var anahtar kelimesi: Anonim sınıfların isimleri derleyici tarafından otomatik oluşturulur, bu yüzden bu nesneleri tanımlarken mutlaka var kullanmalısınız.

    Salt Okunur (Read-Only): Özelliklerin (properties) değerleri sadece oluşturulma anında atanabilir. Sonradan değiştirilemezler.

    Tip Güvenliği: İsimsiz olsalar da strongly-typed (kesin tipli) yapılardır. Derleyici, tipleri atanan değerlerden çıkarır.


Basit bir anonim sınıf oluşturma ve kullanma şekli şöyledir:
 
 
using System;

public class Program
{
    public static void Main()
    {
        // Anonim bir nesne oluşturma
        var ogrenci = new { 
            Id = 1, 
            Ad = "Deniz", 
            Bolum = "Yazılım Mühendisliği" 
        };

        Console.WriteLine($"ID: {ogrenci.Id}");
        Console.WriteLine($"İsim: {ogrenci.Ad}");

        // ogrenci.Ad = "Güneş"; // HATA! Özellikler salt okunurdur.
    }
}
 
Örnek 2
 
var araba = new { 
    Marka = "Tesla", 
    Model = "Model 3", 
    Yil = 2024 
};

Console.WriteLine($"Araba: {araba.Marka}, Yıl: {araba.Yil}");
 
Yükleniyor...
Yükleniyor...