Sobes.tech
Middle+

Koje prednosti pruža verzija C# 12?

sobes.tech АИ

Одговор од АИ

  • Jednokratni lambda izrazi (Primarni konstruktori)
  • Izraz typeof za dobijanje tipa inline-niza
  • Interceptors - eksperimentalna funkcija, za presretanje poziva metoda i njihovu zamenu tokom kompilacije.
// Primarni konstruktori u C# 12
public class MyClass(int param1, string param2)
{
    // Parametri konstruktora su dostupni u telu klase
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Upotreba
var instance = new MyClass(10, "hello");
// typeof za inline nizove u C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Ime nije važno
}

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