Blog
Dün .NET 7 ve C# 11’in duyurusunu gördük. Yeni sürümde C# bize bazı yeni ve ilginç özellikler getiriyor:
- Static abstract interface methods
Aşırı yüklenebilir operatörler, diğer statik üyeler ve statik özellikler içeren arayüzleri tanımlamak için arayüzlere 𝚜𝚝𝚊𝚝𝚒𝚌 𝚊𝚋𝚜𝚝𝚛𝚊𝚌𝚝 veya 𝚜𝚝𝚊𝚝𝚒𝚌 𝚟𝚒𝚛𝚝𝚞𝚊𝚕 üye eklemeye izin verecektir.
- Pattern matching – List patterns
Bir liste veya dizideki öğelerin sıralarını eşleştirmek için desen eşleştirmeyi genişletin. Örneğin, [1, 2, 3] dizisi, dizi bir dizi veya üç tam sayıdan (1, 2 ve 3) oluşan bir liste olduğunda doğrudur. 𝘯 𝘳𝘢𝘯𝘨 𝘱𝘢𝘵𝘵 (..) dahil olmak üzere herhangi bir deseni kullanarak öğeleri eşleştirebilirsiniz.
- Required properties
Uygulandığı alan veya özelliğin tüm oluşturucular tarafından veya bir nesne başlatıcı kullanılarak başlatılması gerektiğini belirten yeni değiştirici.
- Raw string literals
Dize değişmezleri için yeni bir biçimdir ve kaçış dizileri gerektirmeden boşluk, yeni satırlar, gömülü tırnak işaretleri ve diğer özel karakterler dahil olmak üzere rastgele metin içerebilir. Bir ham dize değişmezi, en az üç çift tırnak (“””) karakteriyle başlar.
- UTF-8 dize değişmezleri
Varsayılan olarak, C# dizeleri UTF-16’ya sabit kodlanmıştır, internette ise çoğunlukla UTF-8’i görebiliriz. Dönüştürme sırasında performansla ilgili sorunları en aza indirmek için, artık UTF-8’de almak için bir dize değişmezine bir 𝚞𝟾 son eki ekleyebilirsiniz.
- Geliştirici üretkenliği
𝚗𝚊𝚖𝚎𝚘𝚏 operatörü artık yöntem parametreleriyle kullanılabilir. Bu özellik, aşağıdaki örnekte gösterildiği gibi, yöntemlerdeki öznitelik bildirimlerinde 𝚗𝚊𝚖𝚎𝚘𝚏 operatörünü kullanmanızı sağlar.