Sobes.tech
Middle+

C# 12 versiyasi qanday afzalliklar taqdim etadi?

sobes.tech AI

AIdan javob

  • Bir martalik lambda ifodalar (Asosiy konstruktorlar)
  • typeof ifodasi inline-array turini olish uchun
  • Interceptorlar (Interceptors) - metod chaqiruvlarini ushlash va ularni kompilyatsiya bosqichida almashtirish uchun eksperimental xususiyat.
// C# 12 da asosiy konstruktorlar
public class MyClass(int param1, string param2)
{
    // Konstruktor parametrlariga sinf ichida murojaat qilish mumkin
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Foydalanish
var instance = new MyClass(10, "hello");
// C# 12 da inline-array uchun typeof
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Nomi muhim emas
}

// typeof(MyInlineArray<int>) System.Runtime.CompilerServices.InlineArray<int> ni qaytaradi
// typeof(MyInlineArray<int>[0]) System.Int32 ni qaytaradi
Console.WriteLine(typeof(MyInlineArray<int>));
Console.WriteLine(typeof(MyInlineArray<int>[0]));