Programlama ve Yazılım Geliştirme

C# 15, önizlemede genişletme dizinleri ve koleksiyon ifadeleri için iyileştirmeler ekliyor

Microsoft, .NET 11 ile gelecek C# 15’in ilk önizlemesinde bulunan özelliklerden bazılarını .NET blogunda tanıttı. Bu özellikler arasında koleksiyon oluşturucularına bağımsız değişken aktarma, genişletme dizinleri ve döngü etiketleri yer alıyor. Değişiklikler, ara kod miktarını azaltmayı ve günlük programlamadaki bazı yaygın kalıpların açıklığını artırmayı hedefliyor.

2026-08-24
3 dk okuma
15 görüntülenme
فريق تحرير certi.news
C# 15, önizlemede genişletme dizinleri ve koleksiyon ifadeleri için iyileştirmeler ekliyor

Microsoft, .NET 11 ile gelecek sürüm olan C# 15’in önizlemesinde bulunan yeni özellikleri açıkladı. Güncelleme; birleşim türlerini, kapalı hiyerarşileri ve güvenli olmayan kodlarla çalışmaya yönelik güncellenmiş modelin önizlemesini içeriyor. Ayrıca günlük kullanımdaki tekrarlanan yordam kodunu azaltmayı amaçlayan daha küçük değişiklikler de sunuyor.

Koleksiyon ifadelerinde bağımsız değişkenler

C#’taki koleksiyon ifadeleri, değerleri çeşitli koleksiyon türlerine dönüştürebiliyor; ancak daha önce temel oluşturucuya veya oluşturma işlevine bağımsız değişken aktarmaya izin vermiyordu. C# 15, bu bağımsız değişkenleri aktarmak için ifadenin başına yerleştirilen with(...) biçiminde yeni bir öğe ekliyor.

Bu sayede örneğin kapasite doğrudan ifade içinde belirtilerek bir liste oluşturulabilir veya öğeleri ekleme işlemini oluşturmadan ayırmak yerine StringComparer.OrdinalIgnoreCase aktarılıp bir HashSet oluşturulabilir. Microsoft, bu özelliğin, anahtarlar için kullanılan karşılaştırma aracının belirtilmesini gerektirmesi muhtemel olan ve beklenen sözlük ifadeleri sözdiziminin oluşturulmasının önünü açtığını belirtiyor.

Genişletme dizinleriyle öğelere erişim

C# 14, yöntemlerin yanı sıra özellikler ve işleçler için genişletme üyeleri ekledikten sonra C# 15, bu modeli genişletme dizinlerini de kapsayacak şekilde genişletiyor. Böylece bir alıcı nesnenin öğesine, dizin kendi türünde zaten tanımlanmış gibi erişilebiliyor.

Microsoft’un sunduğu örnekte, IEnumerable<int> içindeki bir öğeye erişmek için ElementAtIndex gibi yardımcı bir yöntem gerekiyordu. Yeni sözdizimi ise alıcıyla ilişkilendirilmiş bir genişletme dizini aracılığıyla numbers[2] kullanımına izin veriyor. Blog, dizinlerin statik olamayacağını ve bu nedenle genişletme kapsayıcısının adlandırılmış bir alıcı içermesi gerektiğini açıklıyor.

break ve continue döngüleri için etiketler

C# 15, yineleme döngülerinin etiketlenmesine ve break veya continue ifadelerinin doğrudan bu döngülere yönlendirilmesine olanak tanıyor. Bu özellik, dış döngüden çıkmanın genellikle bir boole değişkeni kullanılmasını, goto kullanılmasını veya mantığın ayrı bir işleve taşınmasını gerektirdiği iç içe döngülerde yararlı oluyor.

Pratikte etiketleme, çıkış hedefini kod içinde açık hâle getiriyor ve aranan öğenin bulunup bulunmadığını izlemek için bir değişkene duyulan ihtiyacı ortadan kaldırıyor. Örnekte, break scan kullanılarak doğrudan çıkılabilen scan adlı bir döngü gösteriliyor.

Geliştiriciler için ne değişiyor?

Bu özellikler, .NET’in çalışma modelinde bir değişiklik sunmaktan çok kodun sözdizimini yeniden düzenliyor ve tekrarlanan bazı kalıpları azaltıyor. Değerleri özellikle koleksiyon ifadelerini kullanan, iç içe döngülerle çalışan veya genişletilebilir türler için daha kısa erişim arayüzlerine ihtiyaç duyan projelerde ortaya çıkıyor.

Ancak özellikler hâlâ önizleme aşamasında olduğundan henüz nihai ve kararlı bir arayüzü temsil etmiyor. Microsoft, geliştiricileri .NET 11’i indirerek C# 15’i uygulamalarında denemeye, yeniliklerin tam başvuru kaynağına göz atmaya ve csharplang projesi kapsamındaki devam eden tartışmalara katılmaya davet ediyor. Kaynak, bu özelliklerin kararlı bir sürüme dönüştürülmesi için nihai bir tarih belirtmiyor.

Haber kaynağı
ف
Yazar

فريق تحرير certi.news

Aynı kategoride

Bunlar da ilginizi çekebilir

Tüm haberleri gör