.NET 9.0'da yeni [3]: Programlama dilinde özellikler c# 13.0

Womanne

Member


  1. .NET 9.0'da yeni [3]: Programlama dilinde özellikler c# 13.0

Yeni C# 13.0, Microsoft'u yalnızca .NET 9.0 ile resmi olarak destekler (“C# 13.0 yalnızca desteklenir.








Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.







C# 13.0 en eski .NET sürümlerinde


Bununla birlikte, C# 'nın dilsel özelliklerinin çoğu, .NET Framework, .NET Core ve Xamarin dahil en eski .NET sürümlerinde de kullanır. Bunu yapmak için, günde kullanılan derleyicinin sürümünü yapmalısınız. <LangVersion> Proje dosyasında (.cfroj), “13.0” a yükselir.

<LangVersion>13.0</LangVersion>

Dilin işlevselliği .NET 9.0 sürümlerinde de çalışır, .NET 9.0'da tanıtılan temel kitaplık sınıflarına herhangi bir bağımlılığa sahip olmak gerekli değildir. Eğer sen <LangVersion>latest</LangVersion> Proje dosyasında, önceki sürümlerde C# 13.0'ın aşağıdaki yeni dil özellikleri mümkündür:

  • Kısmi gerçek ve kısmi dizinler
  • Anahtar kelimenin parametrelerine göre genel miktarlar
  • Yenilikler ref structBir tür konusu olarak kullanılması hariç
  • Kaçış işareti e
Bununla birlikte, 9.0'dan önce .NET sürümlerinde yeni dil özelliklerinin kullanılması için Microsoft'tan teknik bir destek olmadığına dikkat edilmelidir, bu nedenle Microsoft'tan yardım istemek için sorunlar için destek sözleşmesini kullanmak mümkün değildir. Bununla birlikte, bazı şirketlerde eski .NET projelerinde daha yüksek C sürümlerinin kullanılması sorunsuz bir uygulamadır.

C# 13.0'daki yeni kararlı dilin özellikleri


Önümüzdeki haftalarda bu blog dizisinde konuşacağım C# 13.0'da aşağıdaki yeni dilsel özellikler yayınlandı:

  • Kısmi gerçek ve kısmi dizinler,
  • Yeni kaçış işareti e Kontrol sekansları için ANSI/VT100 terminalinin kontrolü,
  • Yöntemin aşırı yükleri için önceliği,
  • Jenerik mengen türleri params,,
  • Nesnenin sondan bir dizin operatörü ile başlatılması,
  • Yeni Sınıf Threading.Lock İçin lockTalimatlar E
  • Uzantılar ref structs (yığın üzerinde).
C# 13.0'da deneysel dil işlevi


Başka bir dilsel özellik C# 13.0'da deneysel formda yer almaktadır: Yeni anahtar kelimeyle yarı -automatik özellikler field. Bu anahtar kelime yalnızca bir proje dosyasındaysa kullanılabilir <EnablePreviewFeatures>True</EnablePreviewFeatures> VEYA <LangVersion>preview</LangVersion> ayarlamak.

Yeni dilin düzenlenmiş işlevselliği


Aşağıdaki dilsel özellikler C# 13.0 için öngörüldü ve bazıları zaten bir prototip olarak mevcuttu, ancak bu nedenle Kasım 2025'te piyasaya sürülmesi gereken C# 14.0'a ertelendi:

  • Tupel Kararnamesi(int x, string y) = default yerine (default, default)
  • Arasında otomatik dönüşüm Array,, Span<T> VE ReadOnlySpan<T>
  • Uzantılar: Yalnızca uygulama yöntemlerinin entegre edilebileceği yöntemlerin daha da geliştirilmiş ve genelleştirilmiş bir formu, aynı zamanda hem uygulama hem de sınıf düzeyinde (“statik”) yöntemler ve özellikler. Microsoft, yeni anahtar kelimenin bunu yapmasını istiyor extensiontanıtmak.
C# 13.0'daki değişiklikleri kırın


C# 13.0'daki derleyicinin davranışında C# 12.0'a kıyasla bazı kopma değişiklikleri vardır. Ancak, bunlar çok az önemlidir, örneğin ek açıklama yasağı [InlineArray] AÇIK record struct).


(RME)
 
Üst