.NET 9.0'daki yenilikler [3]: C# 13.0 programlama dilinin özellikleri

Womanne

Member


  1. .NET 9.0'daki yenilikler [3]: C# 13.0 programlama dilinin özellikleri

Microsoft resmi olarak yalnızca .NET 9.0'dan yeni C# 13.0'ı desteklemektedir (“C# 13.0 yalnızca .NET 9 ve sonraki sürümlerde desteklenir.”).


Duyuru








Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla danışmanlık, eğitim ve yazılım geliştirme yoluyla çok sayıda orta ve büyük ölçekli şirketi destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.







.NET'in önceki sürümlerinde C# 13.0


Ancak çoğu C# dili özelliği, .NET Framework, .NET Core ve Xamarin dahil olmak üzere .NET'in eski sürümlerinde de kullanılabilir. Bunu yapmak için etiketin kullandığı derleyici sürümünü kontrol etmeniz gerekir. <LangVersion> proje dosyasında (.csproj) “13.0” olarak ayarlayın.

<LangVersion>13.0</LangVersion>

Dil özelliklerinin .NET 9.0'dan önceki sürümlerde çalışabilmesi için, bunların .NET 9.0'da tanıtılan temel kitaplık sınıflarına bağımlı olmaması gerekir. sen sürece <LangVersion>latest</LangVersion> Önceki sürümlerdeki C# 13.0'ın aşağıdaki yeni dil özellikleri proje dosyasında mümkündür:

  • Kısmi özellikler ve kısmi dizin oluşturucular
  • params anahtar sözcüğüyle ilişkili genel kümeler
  • Yenilikler ref structtür bağımsız değişkeni olarak kullanılması dışında
  • Kaçış karakteri e
Ancak şunu da belirtmek gerekir ki, 9.0'dan önceki .NET sürümlerinde yeni dil özelliklerinin kullanımına ilişkin Microsoft'tan herhangi bir teknik destek bulunmamaktadır, dolayısıyla sorun yaşarsanız Microsoft'tan yardım istemek için destek sözleşmesini kullanamazsınız. Ancak bazı şirketlerde eski .NET projelerinde daha yüksek C# versiyonlarının kullanılması yaygın ve sorunsuz bir uygulamadır.

C# 13.0'daki yeni kararlı dil özellikleri


Önümüzdeki birkaç hafta boyunca bu blog dizisinde tartışacağım C# 13.0'da aşağıdaki yeni dil özellikleri ortaya çıktı:

  • Kısmi özellikler ve kısmi indeksleyiciler,
  • yeni ESCAPE karakteri e ANSI/VT100 terminal kontrolü kaçış dizileri için,
  • Yöntem aşırı yüklemelerinde öncelik,
  • Genel set türleri params,
  • Nesnenin uçtan indeks operatörü ile başlatılması,
  • Yeni sınıf Threading.Lock İçin lock-Talimatlar e
  • Uzantılar ref structs (yığında).
C# 13.0'daki deneysel dil özellikleri


Başka bir dil özelliği C# 13.0'da deneysel biçimde yer almaktadır: new anahtar sözcüğüyle yarı otomatik özellikler field. Bu anahtar kelime aynı zamanda yalnızca bir proje dosyasında da mevcuttur <EnablePreviewFeatures>True</EnablePreviewFeatures> VEYA <LangVersion>preview</LangVersion> Setler.

Yeni dil özellikleri ertelendi


Aşağıdaki dil özellikleri C# 13.0 için planlanmıştı ve bazıları zaten prototip olarak mevcuttu ancak daha sonra Kasım 2025'te piyasaya sürülmesi planlanan C# 14.0'a ertelendi:

  • Tuple yapısökümü(int x, string y) = default yerine (default, default)
  • Arasında otomatik dönüşüm Array, Span<T> VE ReadOnlySpan<T>
  • Uzantılar: Yalnızca örnek yöntemleri değil, aynı zamanda hem örnek hem de sınıf düzeyinde (“statik”) yöntemler ve özellikler ekleyebileceğiniz genelleştirilmiş ve daha da geliştirilmiş bir uzantı yöntemleri biçimi. Microsoft bunun için yeni anahtar kelimeyi istiyor extensiontanıtmak.
C# 13.0'daki son değişiklikler


C# 12.0 ile karşılaştırıldığında C# 13.0'da derleyici davranışında bazı önemli değişiklikler vardır. Ancak bunlar şerh yasağı gibi pek önemi olmayan özel durumlardır. [InlineArray] AÇIK record struct).


(Ben)
 
Üst