C# 13'teki yenilikler
C# 13 aşağıdaki yeni özellikleri içerir. En son Visual Studio 2022 sürümünü veya .NET 9 Önizleme SDK'sını kullanarak bu özellikleri deneyebilirsiniz.
- Yeni kaçış dizisi -
\e
. - Yöntem grubu doğal tür geliştirmeleri
- Nesne başlatıcılarda örtük dizin oluşturucu erişimi
C# 13 , .NET 9'da desteklenir. Daha fazla bilgi için bkz . C# dil sürümü oluşturma.
.NET indirmeleri sayfasından en son .NET 9 önizleme SDK'sını indirebilirsiniz. .NET 9 Önizleme SDK'sını içeren Visual Studio 2022 - önizleme sürümünü de indirebilirsiniz.
Yeni özellikler genel önizleme sürümlerinde kullanıma sunulduğunda "C#'daki yenilikler" sayfasına eklenir. Roslyn özellik durumu sayfasının çalışma kümesi bölümü, yaklaşan özelliklerin ana dalda ne zaman birleştirilmesini izler.
Not
Bu özelliklerle ilgili geri bildirimlerinizle ilgileniyoruz. Bu yeni özelliklerden herhangi biriyle ilgili sorunlar bulursanız dotnet/roslyn deposunda yeni bir sorunoluşturun.
Yeni kaçış dizisi
Unicode U+001B
karakteri için ESCAPE
karakter değişmez kaçış dizisi olarak kullanabilirsiniz\e
. Daha önce veya \x1b
kullandınız\u001b
. Aşağıdaki \x1b
sonraki karakterler 1b
geçerli onaltılık basamaklarsa, bu karakterler kaçış dizisinin bir parçası haline geldiğinden kullanılması önerilmez.
Yöntem grubu doğal türü
Bu özellik, yöntem gruplarını içeren çözümlemeyi aşırı yüklemek için küçük iyileştirmeler yapar. Önceki davranış, derleyicinin bir yöntem grubu için aday yöntemlerin tam kümesini oluşturmasıydı. Doğal bir türe ihtiyaç duyulduysa, doğal tür aday yöntemlerin tam kümesinden belirlendi.
Yeni davranış, her kapsamdaki aday yöntemleri kümesini ayıklamak ve geçerli olmayan aday yöntemlerini kaldırmaktır. Bunlar genellikle yanlış arity veya kısıtlamalarla karşılanmayan genel yöntemlerdir. İşlem, yalnızca hiçbir aday yöntemi bulunamazsa sonraki dış kapsama devam eder. Bu işlem, aşırı yükleme çözümlemesi için genel algoritmayı daha yakından izler. Belirli bir kapsamda bulunan tüm aday yöntemleri eşleşmiyorsa, yöntem grubunun doğal bir türü yoktur.
Teklif belirtimindeki değişikliklerin ayrıntılarını okuyabilirsiniz.
Örtük dizin erişimi
Örtük "sonundan" dizin işlecine artık ^
nesne başlatıcı ifadesinde izin verilir. Örneğin, artık aşağıdaki kodda gösterildiği gibi bir nesne başlatıcıda bir dizi başlatabilirsiniz:
var v = new S()
{
buffer =
{
[^1] = 0,
[^2] = 1,
[^3] = 2,
[^4] = 3,
[^5] = 4,
[^6] = 5,
[^7] = 6,
[^8] = 7,
[^9] = 8,
[^10] = 9
}
};
C# 13'ün önceki sürümlerinde, ^
işleç bir nesne başlatıcıda kullanılamaz. Öğeleri önden dizine almanız gerekir.