İçeriğe atla
  • Kategoriler
  • Güncel
  • Etiketler
  • Popüler
  • Kullanıcılar
  • Gruplar
Deriler
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Varsayılan (Arayüz Yok)
  • Arayüz Yok
Daralt
Marka Logo
  1. Ana Sayfa
  2. Programlama
  3. C#
  4. C# 12 ve 13: Modern Kod Yazımında Yeni Dönem​

C# 12 ve 13: Modern Kod Yazımında Yeni Dönem​

Konu Zamanlandı Sabitlendi Kilitli Taşındı C#
1 İleti 1 Yayımlayıcılar 3 Bakış
  • En eskiden en yeniye
  • En yeniden en eskiye
  • En çok oylanan
Cevaplamak için giriş yapın
Bu başlık silindi. Sadece başlık düzenleme yetkisi olan kullanıcılar görebilir.
  • Moxivundefined Çevrimiçi
    Moxivundefined Çevrimiçi
    Moxiv
    yazdı Son düzenleyen:
    #1

    C# 12 (.NET 😎 ve C# 13 (.NET 9), dilin temel yeteneklerini geliştirirken; bellek yönetimi, koleksiyonlar ve nesne oluşturma süreçlerine büyük yenilikler getirdi.

    1. Primary Constructors (C# 12)​

    C# 12 ile gelen en popüler özelliklerden biri. Artık sınıflar ve yapıların (struct) parametrelerini doğrudan sınıf isminin yanında tanımlayabiliyoruz. Bu, bağımlılık enjeksiyonu (DI) ve özel alan (field) atama işlemlerini çok daha sade hale getiriyor.

    Eski Yöntem:

    public class Person
    {
    private readonly string _name;
    public Person(string name) { _name = name; }
    }
    

    C# 12 (Yeni):

    public class Person(string name)
    {
    public string Name => name;
    }
    

    2. Params Collections (C# 13).​

    Yıllardır kullandığımız params anahtar kelimesi sadece dizilerle (Array) sınırlıydı. C# 13 ile artık IEnumerable<T>, List<T> ve ReadOnlySpan<T> gibi tiplerle de params kullanabiliyoruz. Bu, bellek optimizasyonu için kritik bir adım.

    // Artık List tipinde params alabiliyoruz
    public void Listele(params List<string> urunler)
    {
    /* ... */
    }
    

    3. Collection Expressions (C# 12)
    Diziler, listeler veya Span'lar oluştururken kullanılan farklı söz dizimlerini tek bir standartta toplar. Köşeli parantez [] kullanımı ile kod daha temiz görünür.

    // Eskiden: int[] sayilar = new int[] { 1, 2, 3 };
    int[] sayilar = [1, 2, 3];
    List<string> isimler = ["Ali", "Veli", "Ayşe"];
    
    // Spread Operatörü (..) ile dizileri birleştirme
    int[] ekleme = [0, ..sayilar, 4]; // [0, 1, 2, 3, 4]
    

    4. Yeni "lock" Tipi (C# 13)​

    C# 13, eşzamanlı (concurrency) programlamada kilitlenmeleri yönetmek için yeni bir System.Threading.Lock nesnesi getirdi. Eski object tabanlı kilitlere göre çok daha performanslı ve "thread-safe" bir yapı sunuyor.

    private readonly System.Threading.Lock _anahtar = new();
    
    public void VeriGuncelle()
    {
    lock (_anahtar) // Yeni Lock nesnesi ile daha hızlı kilitlenme
    {
    // Kritik işlemler
    }
    }
    

    5. Alias Any Type (C# 12)
    Artık using anahtar kelimesini kullanarak sadece sınıflara değil, tuple (demet) veya pointer gibi herhangi bir tipe takma ad verebilirsiniz.

    using Koordinat = (int x, int y);
    
    Koordinat konum = (10, 20);
    

    C# 12 vs C# 13: Temel Farklar​

    Özellik C# 12 (.NET 😎 C# 13 (.NET 9)
    Odak Noktası Kod sadeliği ve hız. Performans ve esneklik.
    Yenilik Primary Constructors Params Collections
    Dizi Yönetimi Collection Expressions ([]) Index From End in Object Initializers

    Sonuç​

    C# 12 ve 13 ile birlikte dil, daha az kodla daha çok iş yapabilen, modern bir yapıya büründü. Özellikle Primary Constructors ve Collection Expressions, günlük kod yazma alışkanlıklarınızı tamamen değiştirecek güçte. Bu özellikleri kullanmak sadece kodunuzu kısaltmakla kalmaz, aynı zamanda .NET runtime'ın sunduğu en son performans optimizasyonlarından da yararlanmanızı sağlar.

    dєlí tαrαfımα dєnk gєlmєчín, zírα σrαdα вєn вílє hükümѕüzüm...

    1 Cevap Son cevap
    0

    • Giriş

    • Hesabınız yok mu? Kayıt Ol

    • İlk ileti
      Son ileti
    0
    • Kategoriler
    • Güncel
    • Etiketler
    • Popüler
    • Kullanıcılar
    • Gruplar